Changes to subclasses are cumulative, that is, you cannot delete a component from a class if it was inherited from a superclass. You can extend a subclass as follows:
You can only redefine instance methods. Attributes, class methods, and other inherited components of a subclass cannot be redefined.
You cannot redefine final methods in the superclass. Constructor methods cannot be redefined since they are implicitly final.
A method redefinition may only extend to a new implementation of the method. The signature (names and types of the parameters) may not be changed. The interface of the redefined method must remain the same as that of the original method in the superclass.
Adding New Components
You can define new components in all three visibility sections (public, protected, and private) of a subclass. Since both inherited and new components belong to the same namespace, you must ensure that all components in the class have unique names. For more information, see Creating Methods and Creating Events.
Redefining Methods
To redefine an inherited method in a subclass:
The system displays the inherited methods of all subclasses.
The source code of the original method implementation appears.
You have extended the class and your new components are visible, as well as the public and protected components of the superclass. If you redefine a method in a subclass, the corresponding original method in the superclass remains unchanged.
You can access all the components that are visible in the subclass in the same manner. You also access the inherited components from the superclass with their local names. If you need to address components of the direct superclass, you can use the pseudo reference SUPER.