2.1 Rule for propagation of modifications
Modifications to an attribute/method in a class are always inherited by subclasses,
except by those subclasses in which the attribute/method has been redefined.
For example, if we deleted the method getAge from Person, this change would be
reflected in all subclasses in the entire schema. Note that we could not delete the
method getAge directly from a subclass as it is defined in the superclass Person. As
another example, if we deleted the method getMonthSalary from Staff, this change
would also ripple to Manager, but it would not affect SalesStaff as the method has
been redefined in this subclass. If we deleted the attribute telNo from SalesStaff, this
version of the attribute telNo would also be deleted from SalesStaffClient but
SalesStaffClient would then inherit telNo from Client (see rule 1.2 above).