This must be done in C#.
Review the class diagram below and notice the following key points:
• The name of the Airplane class has been renamed to Airplane_Abstract and the bold, italic letters specify that the entire class should be defined as an abstract class.
• The members in normal case font indicate that these members are declared as class-level members and the implementation of these members is done in the parent class.
• Methods in italic letters are pure virtual functions that have no implementation in the base class, and MUST be overridden in the derived classes.
• The Move method is a virtual method in the base class, but can be overridden in the derived classes. This will work in the Fighter Jet class in this example, BUT not in the Passenger Airplane class.
< See the attachment for the UML diagram >
STEP 3: Modify the Airplane Class.
Using the Class diagram, modify the Airplane class to:
• Specify that the class is abstract
• Specify that the Move method is a virtual method
• Specify that TurnRight, TurnLeft, Accelerate, and Decelerate are pure virtual methods.
• Remove the code from each of the methods (copy and paste it into a Notepad file, since you will want to use it in each of the derived class’s implementation of the methods).
STEP 4: Modify the Jet Fighter Class.
Using the Class diagram, modify the Jet Fighter to:
• Using the same algorithms and formulas from Week 5 (and Week 3) for the Fighter Jet class, implement each of the pure virtual functions: (1) TurnRight, (2) TurnLeft, (3) Accelerate, and (4) Decelerate.
• Override the base class Move method so that the Jet Fighter moves 10 times faster than a generic airplane.
STEP 5: Modify the PassengerAirplane Class.
Using the Class diagram, modify the Passenger Airplane class to:
• Using the same algorithms and formulas from Week 5 (and Week 3) for the Fighter Jet class, implement each of the pure virtual functions: (1) TurnRight, (2) TurnLeft, (3) Accelerate, and (4) Decelerate.
STEP 6: Modify the Windows Interface Form.
Ensure that the Windows Form correctly implements each of the operations using the modified class architecture:
• List box, or combo box control, that allows the user to select whether the airplane is a generic airplane, a passenger plane, or a fighter plane.
• When the user selects the type of plane, create a new object of the identified type.
• Add a command button that when selected provides the information about the specific type of airplane object. [Hint: program each event handler to handle a generic airplane object, then use the polymorphic methods].
When the user selects the existing operations, the appropriate object type methods will be invoked.