(Package Inheritance Hierarchy) Package-delivery services, such as FedEx , DHL and UPS®, offer a number of different shipping options, each with specific costs associated. Create an inheritance hierarchy to represent various types of packages. Use Package as the base class of the hierarchy,then include classes TwoDayPackage and OvernightPackage that derive from Package. Base class Package should include Private instance variables representing the name, address, city, stateand ZIP code for the package's sender and recipient, and instance variables that store the weight (in ounces) and cost per ounce to ship the package. Package's constructor should initialize these Private instance variables with Public properties. Ensure that the weight and cost per ounce contain positive values. Package should provide a Public method CalculateCost that returns a Decimal indicating the cost associated with shipping the package. Package's CalculateCost method should determine the cost by multiplying the weight by the cost per ounce. Derived class TwoDayPackage should inherit the functionality of base class Package, but also include an instance variable that represents a flat fee that the shipping company charges for two-day deliver)- service. TwoDayPackage's constructor should receive a value to initialize this instance variable. TwoDayPackage should redefine method CalculateCost so that it computes the shipping cost by adding the flat fee to the weightbased cost calculated by base class Package's CalculateCost method. Class OvernightPackage should inherit directly from class Package and contain an instance variable representing an additional fee per ounce charged for overnight-delivery service. OvernightPackage should redefine method CalculateCost so that it adds the additional fee per ounce to the standard cost per ounce before calculating the shipping cost. Write a test application that creates objects of each type of Packageand tests method CalculateCost.
1. Be sure to use appropriate names for this project for the following project components:
What To
My initials are TJ
Console Application ????_XX
Where XX are your first initial
last initial,
Where ???? is an appropriate name
for the project.
Module File name(s), if any Give an Appropriate name(s)
for the Module file(s), if
any.
Module name(s) in the code,
if any Give an Appropriate name(s)
for the Module(s), if any.
Class File name(s), if any Give an Appropriate name(s)
for the Class file name(s),
if any.
Class name(s) in code, if any Give an Appropriate name(s)
for the Class, if any.
Solution Name Give Same name as your Console Application)
2. Include documentation within each of your code files
using VB comments as follows:
File name: ........................... .vb
Programmer Name: ...Tim Jenkins.................
Class: IS 207
Lab No: ......3..........
Brief Description of Code in this File: ...........................
3. When saving all your files, use Solution Name: (same
name as your Console Application.