slide1
Download
Skip this Video
Download Presentation
Inheritance

Loading in 2 Seconds...

play fullscreen
1 / 24

Inheritance - PowerPoint PPT Presentation


  • 75 Views
  • 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
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

True

False

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

example
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

example1
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

example2
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

example3
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

example4
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

example5
Example
  • Employee Class:

Wendi Jollymore, ACES

example6
Example
  • Child Classes:

Wendi Jollymore, ACES

example7
Example
  • Note that SalesEmployee and TempSalesEmployee are very similar:

Wendi Jollymore, ACES

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

Wendi Jollymore, ACES

example9
Example

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

exercise
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

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

ad