Inheritance Examples 1 Realworld Examples Animals Animal Dog

  • Slides: 20
Download presentation
Inheritance Examples 1

Inheritance Examples 1

Real-world Examples: Animals Animal Dog Cat Source code: http: //en. wikipedia. org/wiki/Polymorphism_in_object-oriented_programming 2

Real-world Examples: Animals Animal Dog Cat Source code: http: //en. wikipedia. org/wiki/Polymorphism_in_object-oriented_programming 2

Example #2: Timepieces 3

Example #2: Timepieces 3

Multiple inheritance – A derived class can have more than one base class –

Multiple inheritance – A derived class can have more than one base class – Java does not support it – uses “interface” instead. 4

Example #3: Shapes Basic Shape Circle Square Polygon Rectangle Ellipse Hexagon 5

Example #3: Shapes Basic Shape Circle Square Polygon Rectangle Ellipse Hexagon 5

Example #4: Wireless Telephony Mobile initiated message Registration Origination Call Processing SMS Page Response

Example #4: Wireless Telephony Mobile initiated message Registration Origination Call Processing SMS Page Response 6

Value of inheritance? • Helps us to break software into manageable pieces • Existing

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

Inheritance Examples in Java and C++ 8

Inheritance Examples in Java and C++ 8

Back to Example #1: Animals Animal Dog Cat Want to group them together &

Back to Example #1: Animals Animal Dog Cat Want to group them together & make them talk? 9

Concepts • • Static binding vs. dynamic binding Polymorphism using virtual methods Abstract base

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

Add Human? Animal Dog Human Cat Want to group them together & make them

Add Human? Animal Dog Human Cat Want to group them together & make them talk? 11

C++ Animal. Actions Animal Dog Human Cat 12

C++ Animal. Actions Animal Dog Human Cat 12

Java: Interface Animal. Actions Animal Human Dog Cat 13

Java: Interface Animal. Actions Animal Human Dog Cat 13

Example from Wiki: Bad use of Inheritance Whistler Parrot Human 14

Example from Wiki: Bad use of Inheritance Whistler Parrot Human 14

Example from Wiki Parrot Whistler Human 15

Example from Wiki Parrot Whistler Human 15

Concepts • Interface 16

Concepts • Interface 16

C++ Animal Dog Animal. Actions Cat Human 17

C++ Animal Dog Animal. Actions Cat Human 17

Java: Interface Animal. Actions Human Dog Cat 18

Java: Interface Animal. Actions Human Dog Cat 18

Inheritance Examples in Java and C++ 19

Inheritance Examples in Java and C++ 19

References • • http: //en. wikipedia. org/wiki/Polymorphism_in_object-oriented_programming Animals : Inheritance coding examples in Java/C++/…

References • • http: //en. wikipedia. org/wiki/Polymorphism_in_object-oriented_programming Animals : Inheritance coding examples in Java/C++/… http: //en. wikipedia. org/wiki/Interface_%28 Java%29 – Java Interfaces 20