Skip to content

ktakyi/java-pizza-ordering-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍕 Java Pizza Ordering System

A Java application that models a simple pizza ordering system using object-oriented programming principles. The project demonstrates inheritance, encapsulation, constructors, method overriding, and reusable class design by allowing different pizza types to inherit common functionality from a base Pizza class.

Developed as part of coursework to strengthen Java programming and object-oriented design skills.


Features

  • 🍕 Create different pizza types
  • 🧀 Store pizza ingredients such as cheese and sauce
  • 🥓 Support specialized pizzas (e.g., Pepperoni Pizza)
  • ➕ Add additional toppings
  • 💲 Calculate pizza pricing
  • 📝 Display pizza details using an overridden toString() method

Technologies Used

  • Java
  • Object-Oriented Programming (OOP)
  • Inheritance
  • Encapsulation
  • Constructors
  • Method Overriding
  • IntelliJ IDEA

Object-Oriented Concepts Demonstrated

This project demonstrates several core Java programming concepts:

  • Classes and Objects
  • Inheritance
  • Encapsulation
  • Constructors
  • Getter and Setter Methods
  • Method Overriding
  • Polymorphism
  • Code Reusability

Project Structure

java-pizza-builder/
│
├── src/
│   ├── Pizza.java
│   ├── PepperoniPizza.java
│   └── PizzaShop.java
│
├── README.md
└── .gitignore

Class Overview

Pizza

The Pizza class serves as the parent class and stores common pizza information, including:

  • Pizza name
  • Amount of cheese
  • Amount of sauce
  • Base price

It also provides methods to:

  • Calculate price
  • Add toppings
  • Display pizza information
  • Generate a basic recipe

PepperoniPizza

The PepperoniPizza class extends the Pizza class and demonstrates inheritance by adding pepperoni-specific functionality.

Additional features include:

  • Pepperoni quantity
  • Overridden methods
  • Custom constructors
  • Specialized pizza behavior

PizzaShop

PizzaShop serves as the driver class that creates pizza objects and demonstrates how the classes interact.

Example workflow:

  1. Create a pizza.
  2. Create a pepperoni pizza.
  3. Display pizza information.
  4. Add additional toppings.
  5. Display the updated total price.

Example Output

This Pizza is Pp pizza Pizza which contains:

2 cups of cheese
2 cups of sauce
The price is 5.000000 dollars.

More Pepperoni is added

7.0

Skills Demonstrated

  • Java programming
  • Object-oriented software design
  • Inheritance
  • Encapsulation
  • Method overriding
  • Constructor overloading
  • Class relationships
  • Code organization

Future Improvements

Potential enhancements include:

  • Graphical user interface (JavaFX)
  • Multiple pizza types
  • Customer order management
  • Receipt generation
  • Menu system
  • Database integration
  • User input validation
  • Additional toppings and pricing options

What I Learned

Through this project, I strengthened my understanding of Java object-oriented programming by designing reusable classes, implementing inheritance through specialized pizza types, using constructor overloading, overriding inherited methods, and organizing code into modular components.

This project also reinforced the importance of designing parent-child class relationships that promote code reuse and maintainability.


Author

Kwaku Takyi

About

Java object-oriented pizza builder application that lets users customize pizzas using classes, inheritance, and reusable components.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages