Some languages, such as C++, require that the programmer indicate
in the parent class that overriding is a potential:
class GraphicalObject {
public:
virtual void draw(); // can be overridden
};
Other languages, such as Object Pascal, require a modifier in the
child class that overriding has taken place:
type
Ball = object (GraphicalObject)
...
procedure draw; override; (* overriding has taken place *)
end
Still other languages (C#, Delphi) require indications in both parent
and child.
And some languages (Smalltalk) do not require
any indication in either parent class or child class.