inheritance examplesveerasam/advjava/inheritance3.pdf · multiple inheritance – a derived class...

22
Inheritance Examples 1

Upload: others

Post on 10-Mar-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”

Inheritance Examples

1

Page 2: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”

Real-world Examples: Animals

Source code: http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programming

Animal

Dog Cat

2

Page 3: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”

3

Example #2: Timepieces

Page 4: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”

Multiple inheritance

– A derived class can have more than one base class

– Java does not support it – uses “interface” instead.

4

Page 5: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”

Example #3: Shapes

Basic Shape

Circle Polygon Ellipse

Square HexagonRectangle

5

Page 6: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”

Example #4: Wireless Telephony

Mobile initiated

message

Registration Call Processing SMS

Origination Page Response

6

Page 7: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”

Value of inheritance?

• Helps us to break software into manageable

pieces

• Existing classes can be morphed to design new

classes – code reuse

• Enables us to group different types of objects

together and do some action on all of them.

7

Page 8: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”

Inheritance Examples in

Java and C++

8

Page 9: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”

Back to Example #1:

Animals

9

Animal

Dog Cat

Want to group them together &make them talk?

Page 10: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”
Page 11: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”

Concepts

• Static binding vs. dynamic binding

• Polymorphism using virtual methods

• Abstract base class

• Ability of base class pointers to point to

derived class objects

10

Page 12: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”

Add Human?

11

Animal

Dog Cat

Human

Want to group them together &make them talk?

Page 13: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”

C++

12

Animal

Dog Cat

Human

AnimalActions

Page 14: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”

Java: Interface

13

Animal

Dog Cat

Human

AnimalActions

Page 15: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”

Example from Wiki:

Bad use of Inheritance

14

Parrot Human

Whistler

Page 16: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”

Example from Wiki

15

WhistlerParrot Human

Page 17: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”

Concepts

• Interface

16

Page 18: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”

C++

17

Animal

Dog Cat Human

AnimalActions

Page 19: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”

Java: Interface

18

Animal

Dog Cat

Human

AnimalActions

Page 20: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”

Inheritance Examples in

Java and C++

19

Page 21: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”

References

• http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programming -

Animals : Inheritance coding examples in Java/C++/…

• http://en.wikipedia.org/wiki/Interface_%28Java%29 – Java Interfaces

20

Page 22: Inheritance Examplesveerasam/AdvJava/inheritance3.pdf · Multiple inheritance – A derived class can have more than one base class – Java does not support it –uses “interface”