Download presentation
Presentation is loading. Please wait.
Published byYenny Hartono Modified over 5 years ago
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
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.