Copyright © 2015 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 11 Inheritance.

Slides:



Advertisements
Similar presentations
Copyright © 2012 Pearson Education, Inc. Chapter 4 Inheritance and Polymorphism.
Advertisements

Chapter 7 Section 2 Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley.
© 2006 Pearson Addison-Wesley. All rights reserved9 A-1 Chapter 9 Advanced Java Topics (inheritance review + Java generics)
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 1- 1.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 8- 1.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 6- 1.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 2- 1.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 4- 1.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 9- 1.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 18 Indexing Structures for Files.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
Copyright © 2004 Pearson Education, Inc.. Chapter 4 Enhanced Entity- Relationship and UML Modeling.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11 Object, Object- Relational, and XML: Concepts, Models, Languages,
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Java: Early Objects Third Edition by Tony Gaddis Chapter.
Copyright © 2005 Pearson Education, Inc. Publishing as Pearson Addison-Wesley.
Copyright © 2005 Pearson Education, Inc. Publishing as Pearson Addison-Wesley.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
© 2010 Pearson Education, Inc. All rights reserved.
1 Evan Korth New York University Inheritance and Polymorphism Professor Evan Korth New York University.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
1 Evan Korth New York University Inheritance and Polymorphism Professor Evan Korth New York University.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 5 Part 1 Conditionals and Loops.
2-1 © Prentice Hall, 2004 Chapter 2: Introduction to Object Orientation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra,
© 2006 Pearson Addison-Wesley. All rights reserved9 A-1 Chapter 9 Advanced Java Topics CS102 Sections 51 and 52 Marc Smith and Jim Ten Eyck Spring 2007.
Chapter 7 - Generalization/Specialization and Inheritance1 Chapter 7 Generalization/Specialization and Inheritance.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Taken from slides of Starting Out with C++ Early Objects Seventh Edition.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 11.9 Curvature and Normal Vectors.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Limits.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2005 Pearson Education, Inc. All rights reserved Chapter 2 1 Java Inheritance.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 11.5 Lines and Curves in Space.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 4 Applications of the Derivative.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1 Functions.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Advanced UML Class Diagrams.
JAVA: An Introduction to Problem Solving & Programming, 5 th Ed. By Walter Savitch and Frank Carrano. ISBN © 2008 Pearson Education, Inc., Upper.
Class Relationships A class defines a type of data Composition allows an object of another class to define an attribute of a class –Employee “has a”
Chapter 8 Specialization aka Inheritance. 2 Inheritance  Review of class relationships  Uses – One class uses the services of another class, either.
Chapter 10: Introduction to Inheritance. Objectives Learn about the concept of inheritance Extend classes Override superclass methods Call constructors.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 5 Integration.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 11.6 Calculus of Vector-Valued Functions.
AP Computer Science A – Healdsburg High School 1 Inheritance - What is inheritance? - “Is-a” vs. “Has-a” relationship - Programming example “CircleBug”
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design,
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
Inheritance and Polymorphism. Superclass and Subclass Inheritance defines a relationship between objects that share characteristics. It is a mechanism.
CMSC 202 Polymorphism. 10/20102 Topics Binding (early and late) Upcasting and downcasting Extensibility The final modifier with  methods  classes.
Inheritance Chapter 11 in Gaddis. Is a relationships in ‘real’ life Exist when one object is a specialized version of another one –Examples An english.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design Second Edition by Tony Gaddis.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 4- 1.
Java Programming Fifth Edition Chapter 9 Introduction to Inheritance.
JAVA: An Introduction to Problem Solving & Programming, 5 th Ed. By Walter Savitch and Frank Carrano. ISBN © 2008 Pearson Education, Inc., Upper.
Inheritance and Polymorphism
Roberta Roth, Alan Dennis, and Barbara Haley Wixom
The Movement To Objects
Python First Edition STARTING OUT WITH Chapter 10 Inheritance
An Introduction to Inheritance
Advanced Java Topics Chapter 9
Chapter 20 Object-Oriented Analysis and Design
Definition Copyright © 2013 Pearson Education, Inc.. All rights reserved.
Presentation transcript:

Copyright © 2015 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 11 Inheritance

Copyright © 2015 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Topics Introduction to Inheritance Polymorphism

Copyright © 2015 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Introduction to Inheritance In the real world, many objects are a specialized version of more general objects Example: grasshoppers and bees are specialized types of insect In addition to the general insect characteristics, they have unique characteristics: Grasshoppers can jump Bees can sting, make honey, and build hives

Copyright © 2015 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Introduction to Inheritance (cont’d.)

Copyright © 2015 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Inheritance and the “Is a” Relationship “Is a” relationship: exists when one object is a specialized version of another object Specialized object has all the characteristics of the general object plus unique characteristics Example: Rectangle is a shape Daisy is a flower

Copyright © 2015 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Inheritance and the “Is a” Relationship (cont’d.) Inheritance: used to create an “is a” relationship between classes Superclass (base class): a general class Subclass (derived class): a specialized class An extended version of the superclass Inherits attributes and methods of the superclass New attributes and methods can be added

Copyright © 2015 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Inheritance and the “Is a” Relationship (cont’d.) For example, need to create classes for cars, pickup trucks, and SUVs All are automobiles Have a make, year model, mileage, and price This can be the attributes for the base class In addition: Car has a number of doors Pickup truck has a drive type SUV has a passenger capacity

Copyright © 2015 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Inheritance and the “Is a” Relationship (cont’d.) In a class definition for a subclass: To indicate inheritance, the superclass name is placed in parentheses after subclass name Example: class Car(Automobile): The initializer method of a subclass calls the initializer method of the superclass and then initializes the unique data attributes Add method definitions for unique methods

Copyright © 2015 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Inheritance in UML Diagrams In UML diagram, show inheritance by drawing a line with an open arrowhead from subclass to superclass

Copyright © 2015 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

Polymorphism Polymorphism: an object’s ability to take different forms Essential ingredients of polymorphic behavior: Ability to define a method in a superclass and override it in a subclass Subclass defines method with the same name Ability to call the correct version of overridden method depending on the type of object that called for it

Copyright © 2015 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Polymorphism (cont’d.) In previous inheritance examples showed how to override the __init__ method Called superclass __init__ method and then added onto that The same can be done for any other method The method can call the superclass equivalent and add to it, or do something completely different

Copyright © 2015 Pearson Education, Inc. Publishing as Pearson Addison-Wesley The isinstance Function Polymorphism provides great flexibility when designing programs AttributeError exception: raised when a method is receives an object which is not an instance of the right class isinstance function: determines whether object is an instance of a class Format: isinstance(object, class)

Copyright © 2015 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Summary This chapter covered: Inheritance, including: “Is a” relationships Subclasses and superclasses Defining subclasses and initializer methods Depicting inheritance in UML diagrams Polymorphism The isinstance function