1 / 24

Inheritance - PowerPoint PPT Presentation

  • Uploaded on

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

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' Inheritance' - melvin-gordon

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

What is 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

  • It’s easier to understand with examples 

Wendi Jollymore, ACES

What is inheritance1
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



Wendi Jollymore, ACES

What is inheritance2
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

What is inheritance3
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

What is inheritance4
What is Inheritance?

  • What characteristics/behaviors are different between a car and an airplane?

    • Airplanes can fly

    • Cars can reverse

Wendi Jollymore, ACES

What is inheritance5
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

What is inheritance6
What is Inheritance

  • Examples

Wendi Jollymore, ACES

What is inheritance7
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


  • 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


  • 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


  • 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


  • 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


  • 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


  • Employee Class:

Wendi Jollymore, ACES


  • Child Classes:

Wendi Jollymore, ACES


  • Note that SalesEmployee and TempSalesEmployee are very similar:

Wendi Jollymore, ACES


  • We could make Sales Employee a child class of Sales Employee

Wendi Jollymore, ACES


Wendi Jollymore, ACES

One more example
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

Possible solution
Possible Solution

Wendi Jollymore, ACES


  • 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

Robots and inheritance
Robots and Inheritance

  • Look up the RobotSE class in the documentation

    • (class discussion)

Wendi Jollymore, ACES

Creating your own robot
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