1 / 24

Inheritance

Inheritance. What is Inheritance?. A type of relationship between classes. There are a few different kinds of class relationships Inheritance is also called Generalization Occurs when one specific class “inherits” the characteristics and behaviors of a more general class

Télécharger la présentation

Inheritance

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Inheritance

  2. What is Inheritance? • A type of relationship between classes. • There are a few different kinds of class relationships • Inheritance is also called Generalization • Occurs when one specific class “inherits” the characteristics and behaviors of a more general class • It’s easier to understand with examples  Wendi Jollymore, ACES

  3. What is Inheritance? • Which of these are valid/true assertions? • All cars are vehicles • All airplanes are vehicles • All vehicles are cars • We can say that: • A car is a type of vehicle • A bike is a type of vehicle • A UFO is a type of vehicle True False Wendi Jollymore, ACES

  4. What is Inheritance? • We often say that Inheritance is an “is a” relationship • A car is a vehicle • A bike is a vehicle • A fork is a utensil • A cat is a feline • One term is more general, the other more specific • Vehicle, Utensil, Feline are general • Car, bike, fork, cat, are specific Wendi Jollymore, ACES

  5. What is Inheritance? • What characteristics and behaviors to all vehicles share? • Characteristics: • Colour, number of wheels, number of passengers, brand or model • Behaviors: • Start, stop, accelerate/decelerate Wendi Jollymore, ACES

  6. What is Inheritance? • What characteristics/behaviors are different between a car and an airplane? • Airplanes can fly • Cars can reverse Wendi Jollymore, ACES

  7. What is Inheritance • In programming, the more general class is called the parent class or super class • The more specific classes are called child classes or sub classes. In Java, a child class is only allowed one parent class… …however, a parent can have many child classes Wendi Jollymore, ACES

  8. What is Inheritance • Examples Wendi Jollymore, ACES

  9. What is Inheritance? • A child class contains the characteristics and behaviors of its parent • It might also have characteristics and behaviors of its own • It might also have the same behaviors as the parent, but they just work differently • Example: You can drive a car and drive a plane, but not the same way Wendi Jollymore, ACES

  10. Example • Full time employees • work 40 hours per week • get paid an annual salary • weekly pay = annual salary / number of full weeks they work • Part time employees • can work a varying number of hours per week • weekly pay = #of hours worked * hourly rate. Wendi Jollymore, ACES

  11. Example • Sales employees • have varying hours • weekly pay = commission amount = a percentage of their weekly sales • they also get a flat lump sum or base pay per week • Temporary sales employees • just like regular sales employees except that they don't get the base pay each week, just commissions Wendi Jollymore, ACES

  12. Example • In a payroll program, what data would we need to know about all employees? • First name, last name, sin, employee id, address, phone number, city, province, postal code, etc. • Data used to calculate pay for employees depends on the type of employee! Wendi Jollymore, ACES

  13. Example • Full time employees: • annual salary, weeks worked • Part time employees • hours worked, hourly rate • Sales employees • weekly sales, commission rate, base pay. • Temporary sales employees • weekly sales, commission rate. Wendi Jollymore, ACES

  14. Example • Writing each of the 4 classes with all of the data and methods would be tedious! • We usually take the common things and put them in a parent class • Then the child classes contain all the “extras” • And modify parent methods, if needed Wendi Jollymore, ACES

  15. Example • Employee Class: Wendi Jollymore, ACES

  16. Example • Child Classes: Wendi Jollymore, ACES

  17. Example • Note that SalesEmployee and TempSalesEmployee are very similar: Wendi Jollymore, ACES

  18. Example • We could make Sales Employee a child class of Sales Employee Wendi Jollymore, ACES

  19. Example Wendi Jollymore, ACES

  20. One More Example • Vessels have a length characteristic and can steer(). • Sailboats and Destroyers are Vessels • both have length and can steer(). • Sailboats have sails and can raiseJib(), but not all vessels have these. • Destroyers have deckPlating and can fireGuns(), but not all vessels have these. • What would a hierarchy chart look like with the classes Vessel, Sailboat, and Destroyer? Wendi Jollymore, ACES

  21. Possible Solution Wendi Jollymore, ACES

  22. Exercise • For each of the following, which classes would be parent classes, which would be child classes? • Draw the hierarchy charts! • Loafer, Sneaker, Shoe, Sandal • Checking Account, Bank Account, Savings Account • Cat, Cow, Feline, Animal, Chicken, Bovine, Avian, Tiger, Yak, Parrot Wendi Jollymore, ACES

  23. Robots and Inheritance • Look up the RobotSE class in the documentation • (class discussion) Wendi Jollymore, ACES

  24. Creating Your Own Robot • You can use Inheritance to create your own Robot • You can give it your own methods like faceDirection() and makeBox() • How about a collectThings() method that gives the robot a certain number of coloured things? • We’ll do this in class Wendi Jollymore, ACES

More Related