Presentation is loading. Please wait.

Presentation is loading. Please wait.

Polymorphism Polymorphism - Greek for “many forms”

Similar presentations


Presentation on theme: "Polymorphism Polymorphism - Greek for “many forms”"— Presentation transcript:

1 Polymorphism Polymorphism - Greek for “many forms”
A superclass that using a superclass variable to reference a subclass method. Example: Shape s = new Circle(); s.getArea(); © 2006 Pearson Addison-Wesley. All rights reserved

2 Dynamic Binding A polymorphic method Late binding or dynamic binding
A method that has multiple meanings Created when a subclass overrides a method of the superclass Late binding or dynamic binding The appropriate version of a polymorphic method is decided at execution time © 2006 Pearson Addison-Wesley. All rights reserved

3 Dynamic Binding Figure 9-7a
area is overridden: a) mySphere.DisplayStatistics( ) calls area in Sphere © 2006 Pearson Addison-Wesley. All rights reserved

4 Dynamic Binding Figure 9-7b
area is overridden: b) myBall.displayStatistics( ) calls area in Ball © 2006 Pearson Addison-Wesley. All rights reserved

5 Dynamic Binding Controlling whether a subclass can override a superclass method Field modifier final Prevents a method from being overridden by a subclass public final boolean writeDatabaseRecord() { … } Field modifier abstract Requires the subclass to override the method public abstract int getCount(); Early binding or static binding The appropriate version of a method is decided at compilation time Used by methods that are final or static © 2006 Pearson Addison-Wesley. All rights reserved

6 Dynamic Binding and Abstract Classes
Overloading methods To overload a method is to define another method with the same name but with a different set of parameters The arguments in each version of an overloaded method determine which version of the method will be used Example: public void printDetails(Person p) { … } public void printDetails(Elephant e) { … } public void printDetails(Car c) { … } © 2006 Pearson Addison-Wesley. All rights reserved

7 Things to know Difference between overloading and overriding
How polymorphism is implemented and what version of the method gets called. Difference between static binding and dynamic/late binding What a “final” method means What an “abstract” method means © 2006 Pearson Addison-Wesley. All rights reserved


Download ppt "Polymorphism Polymorphism - Greek for “many forms”"

Similar presentations


Ads by Google