Introduction to OOP | Chapter 17: The Polymorphic Variable : | next | previous | audio | real | text |
class Window { public void repaint () { // invoke the deferred method paint. // Because the implicit receiver, this, // is polymorphic, the method from the // child class will be executed paint (graphicsContext); } abstract public void paint (Graphics g); // deferred private Graphics graphicsContext; } class GraphicsWindow extends Window { public void paint (Graphics g) { // do the appropriate painting job } }Only the child class knows how to paint the window. The receiver variable is responsible for remembering the actual class of the receiver when executing the method in the parent class.