csci 143 oop inheritance n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
CSCI 143 OOP – Inheritance PowerPoint Presentation
Download Presentation
CSCI 143 OOP – Inheritance

Loading in 2 Seconds...

play fullscreen
1 / 18

CSCI 143 OOP – Inheritance - PowerPoint PPT Presentation


  • 103 Views
  • Uploaded on

CSCI 143 OOP – Inheritance. What is Inheritance?. A form of software reuse Create a new class from an existing class Absorb existing class data and methods Enhance with new or modified capabilities Used to eliminate redundant code Example Dog class inherits from Animal 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 'CSCI 143 OOP – Inheritance' - clem


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 form of software reuse
  • Create a new class from an existing class
    • Absorb existing class data and methods
    • Enhance with new or modified capabilities
  • Used to eliminate redundant code
  • Example
    • Dog class inherits from Animal class
    • Dog extends Animal
subclass and superclass
Subclass and Superclass
  • Subclass extends superclass
    • Subclass
      • Also called child class or derived class
      • More specialized group of objects
      • Inherits data and methods from superclass
      • Can add or modify methods
        • Modifying methods is called overriding
    • Superclass
      • Also called parent class or base class
      • Typically represents larger group of objects
      • Supplies data and behaviors to subclass
      • May be direct or indirect
  • Java does not support multiple inheritance
the object class
The Object class
  • Top of the Java class hierarchy
  • Located in package java.lang
  • Class from which every other Java class inherits
  • A class implicitly extends Object if no other class is specified
  • .toString(), .clone(), .equals()
is a vs has a relationships
“is-a” vs. “has-a” relationships
  • “is-a”
    • Represents inheritance
    • subclass object is an example of the superclass object
    • Example: a Car is a Vehicle
    • Car is subclass; Vehicle is superclass
    • Keywords: extends, implements
  • “has-a”
    • Represents composition
    • Object contains one or more objects of other classes as members
    • Example: Car has a Steering Wheel
composition
Composition
  • Dog “has-a” owner, mother, father, leash…

public class Dog{ private String name; private int age; private Person owner; private Dog mother, father; private Leash dogLeash;}

inheritance
Inheritance
  • Dog extends (“is-a”) Animal

Animal

Animal’s Stuff

Dog

Animal’s Stuff

Dog’s Stuff

slide8

This is an overridden method,

Inherited from animal.

public class Animal{ private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } public String talk() { return “?”; }}

public class Dog extends Animal

{

public String talk()

{

return "WOOF!";

}

public void fetch(String toy) {

System.out.println(“Fetching a ” + toy);

}

}

This is a new method.

slide9

public class PetStore

{

public static void main (String[] args)

{

Dog d = new Dog();

d.setName(“Henry”);

System.out.println (d.getName() + " says " + d.talk());

}

}

Henry says WOOF!

an inheritance class hierarchy

CommunityMember

Employee

Student

Alumnus

Faculty

Staff

Administrator

Teacher

An Inheritance (Class) Hierarchy

Fig. 9.2 Inheritance hierarchy for university CommunityMembers.

draw an inheritance hierarchy for these classes
Draw an Inheritance Hierarchy for these classes:

TriangleSphere 2DShape ShapePyramidSquare3DShapeCubeCircle

strategy
Strategy
  • Design classes for objects
  • Identify characteristics classes have in common
    • Abstraction: focus on commonalities among objects in a system
  • Design superclasses to store common characteristics
protected members
protected Members
  • Intermediate level of protection between public and private
  • Accessible to
    • superclasses
    • subclasses
    • classes in the same package
  • Use super. to access a superclass method that has been overridden by a subclass method
  • Don’t use protected instance variables!
    • “Fragile” software can “break” if superclass changes
protected members1
protected Members

Poodle

dog.m1()dog.m3()

Dog

public m1()private m2()protected m3()

Owner

dog.m1()

is-a

has-a

constructors in subclasses
Constructors in Subclasses
  • Constructors are not inherited!
  • Chain of constructor calls
    • subclass constructor invokes superclass constructor
      • Implicitly or explicitly
      • To call explicitly, use super()
      • Superclass constructor call must be first statement in subclass constructor
    • Object constructor is always fired last
  • All instance variables are inherited
    • Private variables not directly accessible
slide18
Quiz

Private/Static/Constructor

  • _________ methods are not inherited.
  • The _____ class is at the top of the Java hierarchy.
  • The _____ keyword is used in Java to represent inheritance.
  • A Java class _____ inherit from more than one class.
  • A variable or method that is available within an inheritance hierarchy and its package is a____________.

Object

extends

cannot

protected member