To create an overloaded function, you declare the function as you would any function using Insert>Function.
Overriding means defining a function in a descendent object that has the same name and argument list as a function in the ancestor object. In the descendent object, the function in the descendant is always called instead of the one in the ancestor—unless you use the scope resolution operator (::).
To override a function, open the descendent object in the painter, select the function in the Script view, and code the new script. The icon that indicates that there is a script for a function is half shaded when the function is inherited from an ancestor.
You can overload or override object functions only—you cannot overload global functions.