Skip to content

Commit 41aa02e

Browse files
committed
Finished the OOP Master Challenge.
1 parent 00b9fb6 commit 41aa02e

8 files changed

Lines changed: 85 additions & 14 deletions

File tree

556 Bytes
Binary file not shown.

‎Java_Masterclass/P5_OOP_Part2/OOP_Master_Challenge.java‎

Lines changed: 42 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,33 +15,69 @@
1515

1616
public class OOP_Master_Challenge{
1717
public static void main(String[] args){
18+
19+
/** Initialize Hamburger, HealthyBurger, and Deluxe Burger Objects **********/
1820
Hamburger burger = new Hamburger(BreadRollType.WHITE_BUN, MeatType.BEEF, 6.5);
1921
Hamburger anotherBurger = new Hamburger();
22+
HealthyBurger healthyBurger = new HealthyBurger();
23+
DeluxeBurger deluxeBurger = new DeluxeBurger();
24+
/****************************************************************************/
2025

26+
/** Print details of each burger ********************************************/
2127
System.out.println("burger: " + burger.orderBurger());
2228
System.out.println("another burger: " + anotherBurger.orderBurger());
29+
System.out.println("healthy burger: " + healthyBurger.orderBurger());
30+
System.out.println("deluxe burger: " + deluxeBurger.orderBurger());
31+
/****************************************************************************/
2332

33+
/** Test addToppings() functions *********************************************/
2434
burger.addToppings(AddOns.LETTUCE, AddOns.TOMATO, AddOns.ONION, AddOns.PICKLES);
2535
anotherBurger.addToppings(AddOns.AVACADO);
36+
healthyBurger.addToppings(AddOns.AVACADO);
37+
healthyBurger.addToppings(AddOns.TOMATO, AddOns.LETTUCE, AddOns.ONION, AddOns.PICKLES);
38+
deluxeBurger.addToppings(AddOns.TOMATO);
39+
deluxeBurger.addToppings(AddOns.CHEESE, AddOns.LETTUCE, AddOns.ONION, AddOns.PICKLES);
40+
/*****************************************************************************/
2641

42+
/** Print details of each burger *********************************************/
2743
System.out.println("burger: " + burger.orderBurger());
2844
System.out.println("another burger: " + anotherBurger.orderBurger());
45+
System.out.println("healthy burger: " + healthyBurger.orderBurger());
46+
System.out.println("Deluxe burger: " + deluxeBurger.orderBurger());
47+
/*****************************************************************************/
2948

49+
/** Test removeTopping() functions *******************************************/
3050
burger.removeTopping(AddOns.TOMATO);
3151
burger.removeTopping(AddOns.PICKLES);
3252
anotherBurger.removeTopping(AddOns.BACON);
33-
anotherBurger.meatTemperature(MeatTemp.RARE);
53+
/*****************************************************************************/
54+
55+
/** Testing function to change meat temperature *****************************/
56+
burger.meatTemperature(MeatTemp.RARE);
57+
anotherBurger.meatTemperature(MeatTemp.WELL_DONE);
58+
healthyBurger.meatTemperature(MeatTemp.MEDIUM_WELL);
59+
deluxeBurger.meatTemperature(MeatTemp.MEDIUM_RARE);
60+
/*****************************************************************************/
3461

62+
/** Print details of each burger *********************************************/
3563
System.out.println("burger: " + burger.orderBurger());
3664
System.out.println("another burger: " + anotherBurger.orderBurger());
37-
38-
burger.addToppings(AddOns.BACON);
39-
burger.addToppings(AddOns.TOMATO);
40-
burger.addToppings(AddOns.NONE);
65+
System.out.println("healthy burger: " + healthyBurger.orderBurger());
66+
System.out.println("another burger: " + deluxeBurger.orderBurger());
67+
/****************************************************************************/
68+
/** Testing addToppings functions one more time after removing toppings *****/
4169
burger.addToppings(AddOns.BACON);
42-
anotherBurger.addToppings(AddOns.CHEESE);
70+
burger.addToppings(AddOns.CHEESE);
71+
healthyBurger.addToppings(AddOns.SPROUTS);
72+
healthyBurger.addToppings(AddOns.BACON);
73+
deluxeBurger.addToppings(AddOns.CHEESE);
74+
/****************************************************************************/
4375

76+
/** Print details of each burger *********************************************/
4477
System.out.println("burger: " + burger.orderBurger());
4578
System.out.println("another burger: " + anotherBurger.orderBurger());
79+
System.out.println("healthy burger: " + healthyBurger.orderBurger());
80+
System.out.println("another burger: " + deluxeBurger.orderBurger());
81+
/*****************************************************************************/
4682
}
4783
}
423 Bytes
Binary file not shown.
Lines changed: 21 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,33 @@
11
package burgers;
22

33
public class DeluxeBurger extends Hamburger{
4-
private final int extraOptions = 3;
4+
//private final int extraOptions = 3;
55

6-
private final String name = "deluxe";
6+
//private static final String name = "deluxe hamburger";
7+
//private String name;
78

89
/* Constructor *********************************************************************/
10+
/*
11+
private void setName(String burgerName){
12+
name = burger;
13+
}
14+
*/
915
public DeluxeBurger(){
1016
super(BreadRollType.WHITE_BUN, MeatType.BEEF, 8.0);
1117
addSide(Sides.DRINK);
1218
addSide(Sides.CHIPS);
19+
20+
setNameAndOptions("Deluxe Burger", 3);
21+
}
22+
23+
24+
/** Overload addTopping method to prevent adding addtional items to Deluxe *********/
25+
@Override
26+
public void addToppings(AddOns addOn_1, AddOns addOn_2, AddOns addOn_3, AddOns addOn_4){
27+
System.out.println("Sorry, you cannot add any additional topping to the Deluxe Hamburger.");
28+
}
29+
@Override
30+
public void addToppings(AddOns addOn_1){
31+
System.out.println("Sory, you cannot add any additional toppings to the Deluxe Hamburger.");
1332
}
1433
}
140 Bytes
Binary file not shown.

‎Java_Masterclass/P5_OOP_Part2/burgers/Hamburger.java‎

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,16 @@ public class Hamburger{
1616

1717
private double price;
1818

19-
private final String name = "hamburger";
20-
private final int extraOptions = 0;
19+
//private static final String name = "hamburger";
20+
private String name;
21+
private int extraOptions;
2122

2223
/* Constructor *******************************************************************/
24+
protected void setNameAndOptions(String burgerName, int options){
25+
this.name = burgerName;
26+
this.extraOptions = options;
27+
}
28+
2329
//public Hamburger(String bread, String meat, double price){
2430
public Hamburger(BreadRollType bread, MeatType meat, double price){
2531
this.bread = bread;
@@ -35,6 +41,8 @@ public Hamburger(BreadRollType bread, MeatType meat, double price){
3541
addOn_2 = AddOns.NONE;
3642
addOn_3 = AddOns.NONE;
3743
addOn_4 = AddOns.NONE;
44+
45+
setNameAndOptions("hamburger", 0);
3846
}
3947
public Hamburger(){
4048
this(BreadRollType.WHITE_BUN, MeatType.BEEF, 5.0);
@@ -84,7 +92,7 @@ else if(this.addOn_4 == addOn_1){
8492
;
8593
}
8694
else
87-
System.out.println("Sorry " + addOn_1 + " is not an option for this burger");
95+
System.out.println("Sorry " + addOn_1 + " is not an option for a " + getName() );
8896
}
8997
/**********************************************************************************/
9098
/** remove toppings after they have been added ************************************/
@@ -133,7 +141,7 @@ public String getName(){
133141
/** print burger info **************************************************************/
134142
public String orderBurger(){
135143

136-
String returnMessage = ("A " + meat + " " + name + " cooked " + temperature + " on a " + bread);
144+
String returnMessage = (getName() + " is a " + meat + " patty cooked " + temperature + " on a " + bread);
137145

138146
if(addOn_1 != AddOns.NONE)
139147
returnMessage += (" with " + addOn_1.name() + " " + addOn_1.getPrice() );
-76 Bytes
Binary file not shown.

‎Java_Masterclass/P5_OOP_Part2/burgers/HealthyBurger.java‎

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,20 @@
22

33
public class HealthyBurger extends Hamburger{
44

5-
private final int extraOptions = 1;
5+
//private final int extraOptions = 1;
66

7-
private final String name = "healthy hamburger";
7+
//private final String name = "healthy hamburger";
8+
//private String name;
89

910
/* Constructor *****************************************************************/
11+
/*
12+
private void setName(String burgerName){
13+
name = burgername;
14+
}
15+
*/
1016
public HealthyBurger(){
1117
super(BreadRollType.BROWN_RYE, MeatType.BEEF, 7.0);
18+
19+
setNameAndOptions("healthy burger", 1);
1220
}
1321
}

0 commit comments

Comments
 (0)