Inheritance 61
Java Programming: OOP 62 Inheritance • On the surface, inheritance is a code re-use issue. – we can extend code that is already written in a manageable manner. • Inheritance is more, it supports polymorphism at the language level! • Information is made manageable in a hierarchical order
Inheritance cont. • With Inheritance, new class can be derived from existing classes as a building block • New class Inherit properties and methods from the existing class • New class can also added Its own properties and methods • Keyword – Extends – Implements 63
Java Programming: OOP 64 Inheritance cont. • Take an existing object type (collection of fields and methods) and extend it. – create a special version of the code without re- writing any of the existing code (or even explicitly calling it!). – End result is a more specific object type, called the sub-class / derived class / child class. – The original code is called the super class / parent class / base class.
Example 7/11/2015 Budditha Hettige (budditha@yahoo.com) 65 Student University Student Undergraduate Post graduate Employee Phone Employee ----------------- - Name Email Phone FulltimeEmployee ------------------------ Salary Office Manager Manager ------------------ CompanyCar Email Phone Contractor ------------------ HourlyRate, ContractDuration
66 Introduction (Cont.) • Class hierarchy – Direct superclass • Inherited explicitly (one level up hierarchy) – Indirect superclass • Inherited two or more levels up hierarchy – Single inheritance • Inherits from one superclass – Multiple inheritance • Inherits from multiple superclasses
Inheritance 67 Animal Dog public class Animal { } public class Dog extends Animal { }
Introduction (Cont.) 68 Animal Dog Animal Dog Private Public Public
69 protected protected protected protected Members • protected access – Intermediate level of protection between public and private – protected members accessible by • superclass members • subclass members • Class members in the same package – Subclass access to superclass member • Keyword super and a dot (.)
Introduction (Cont.) 70 Animal Dog Animal Dog Private Public Public Protected Protected
Example 71
IS-A Relationship (Example) public class Animal { } public class Mammal extends Animal { } public class Reptile extends Animal { } public class Dog extends Animal { } 72 Animal Mamal extends
IS-A Relationship (Example) public class Dog extends Mammal { public static void main(String args[]) { Animal a = new Animal(); Reptile r = new Reptile(); Mammal m = new Mammal(); Dog d = new Dog(); System.out.println(m instanceof Animal); System.out.println(d instanceof Mammal); System.out.println(d instanceof Animal); } } 73 Animal Mamal Dog Reptile
IS-A Relationship • In Object Oriented terms following are true: – Animal is the superclass of Mammal class. – Animal is the superclass of Reptile class. – Mammal and Reptile are sub classes of Animal class. – Dog is the subclass of both Mammal and Animal classes. 74
IS-A Relationship • IS-A relationship we can say: – Mammal IS-A Animal – Reptile IS-A Animal – Dog IS-A Mammal – Hence : Dog IS-A Animal as well • Use of the extends keyword the subclasses will be able to inherit all the properties of the superclass except for the private properties of the superclass 75
Java Programming: OOP 76 Accessing super class methods • Can use super() to access all (non-private) super class methods. – even those replaced with new versions in the derived class. • Can use super() to call base class constructor.
Java Programming: OOP 77 Single Inheritance • You can't extend more than one class! – the derived class can't have more than one base class. • You can do multiple inheritance with interface inheritance.
Java Programming: OOP 78 Inheritance Example cont. • Employee: name, email, phone – FulltimeEmployee: also has salary, office, benefits, … • Manager: CompanyCar, can change salaries, rates contracts, offices, etc. – Contractor: HourlyRate, ContractDuration, … • A manager a special kind of FullTimeEmployee, which is a special kind of Employee. • The relationship modeled by inheritance is often referred to as a “is a” relationship
Inheritance Example 79 Employee ------------------ Name Email Phone FulltimeEmployee ------------------------ Salary Office Manager Manager ------------------ CompanyCar Email Phone Contractor ------------------ HourlyRate, ContractDuration
Inheritance Example 80 Employee ------------------ Name Email Phone FulltimeEmployee ------------------------ Salary Office Manager Manager ------------------ CompanyCar Email Phone Contractor ------------------ HourlyRate, ContractDuration Is a Is a Is a
Example 7/11/2015 Budditha Hettige (budditha@yahoo.com) 81
Example 7/11/2015 Budditha Hettige (budditha@yahoo.com) 82
Example 7/11/2015 Budditha Hettige (budditha@yahoo.com) 83

03-inheretance java code programming .pdf