Description of this paper

Part 1 demonstrates inheritance

Description

solution


Question

PART 1;Part 1 demonstrates inheritance.;Your Pizza Shop expands and now handles delivery orders and sit down orders in a restaurant setting. There are differences in a SeatedPizzaOrder and a DeliveryPizzaOrder. These are more specialized versions of the PizzaOrders you have been creating all along and you decide to write a program that handles them the same as much as possible and reuses the code of a general PizzaOrder class as much as possible to demonstrate inheritance.;Create a PizzaOrder Class. This class should have the following properties (and their underlying private variables): Size {of type int}, Toppings {of type String}, Price {of type Decimal}. Make a full constructor for the class that takes all three values, and a default constructor that initializes the basic pizza as a 12 inch cheese pizza for $8. Make sure to include validation in your Size and Price properties and constructor to prevent a change to Size that would be less than 12 or greater than 16, and prevent a change to Price that would be less than 0.;Create a class that inherits from your PizzaOrder class called SeatedPizzaOrder. SeatedPizzaOrder has the three data values that any PizzaOrder has (size, toppings, and price) but also has a tablenumber (of type integer) and serverName (of type string) which allows you to track where the pizza is going and who took the order in the restaurant;Create a class that inherits from your PizzaOrder class called DeliveryPizzaOrder. DeliveryPizzaOrder has the three data values that any PizzaOrder has (size, toppings, and price) but also has a driverName (of type string) which allows you to track who is delivering the pizza.;Create a GUI with controls of your choosing or a console class with a main in it. The choice is up to you to create objects of each and test them. This program should allow the user to enter in the values for a SeatedPizzaOrder and the values for a DeliveryPizzaOrder, and after creating an object of each one, it should displays their values (from the created objects) for the user.;END PART 1;PART 2;Part 2 is demonstrating polymorphism with classes of different types in an array being processed by a loop.;This program will demonstrate polymorphism and builds on your assignment 1 program. It will allow an array of PizzaOrders of both subclasses....and handle the bills for all of them to be paid all at once polymorphically.;Copy your PizzaOrder, SeatedPizzaOrder, and DeliveryPizzaOrder classes from PART1 into a new project for a C# XXXXX with a GUI.;Change your PizzaOrder from the PART 1 to be an abstract class. Make sure it has an abstract message called printBill().;Change your SeatedPizzaOrder class. Make sure it overrides the printBill() method to return a string with all of the information on the bill along with 10% added to the price.;Change your DeliveryPizzaOrder class. Make sure it overrides the printBill() method to return a string with all of the information on the bill along with $4 added to the price as a delivery fee.;Make a GUI program (with controls of your choosing) that has an array of 4 PizzaOrders in it. Include a checkbox (or radio buttons if you prefer) on the form to control whether it is a DeliveryPizzaOrder or not. Include all the screen controls needed to get the information from the user for either type of order and have a button to allow the user to add a PizzaOrder to the array of either type based on the users choice.;Finally, make sure the GUI include controls to allow the user to see the 4 PizzaOrders bills using printBill() polymorphically once they are all entered. Like a button to call it for the array in a loop, which takes the output from printBill() and adds it to a listbbox for each of them in turn as the loop calls it.;END PART 2;[Note: Using 4 orders because having exactly 4 means we can enter exactly the set number and prevent null reference exceptions and still use a loop with a counter. We could have a larger array and check for null values to see where there are no orders, or use an ArrayList or other collection in a real world setting. Having a set number simplifies this program and avoids the null reference error in testing..]

 

Paper#67874 | Written in 18-Jul-2015

Price : $22
SiteLock