Fragile Base Class

Fragile Base Class

The fragile base class problem is a fundamental architectural problem of object-oriented programming systems where base classes (superclasses) are considered "fragile" because seemingly safe modifications to a base class, when inherited by the derived classes, may cause the derived classes to malfunction. The programmer cannot determine whether a base class change is safe simply by examining in isolation the methods of the base class.

One possible solution is to make instance variables private to their defining class and force subclasses to use accessors to modify superclass states. A language could also make it so that subclasses can control which inherited methods are exposed publicly. These changes prevent subclasses from relying on implementation details of superclasses and allow subclasses to expose only those superclass methods that are applicable to themselves.

Another alternative solution could be to have an interface instead of superclass.

Read more about Fragile Base Class:  Solutions

Famous quotes containing the words fragile, base and/or class:

    Parents need all the help they can get. The strongest as well as the most fragile family requires a vital network of social supports.
    Bernice Weissbourd (20th century)

    Jealousy is both reasonable and belongs to reasonable men, while envy is base and belongs to the base, for the one makes himself get good things by jealousy, while the other does not allow his neighbour to have them through envy.
    Aristotle (384–322 B.C.)

    Why, since man and woman were created for each other, had He made their desires so dissimilar? Why should one class of women be able to dwell in luxurious seclusion from the trials of life, while another class performed their loathsome tasks? Surely His wisdom had not decreed that one set of women should live in degradation and in the end should perish that others might live in security, preserve their frappeed chastity, and in the end be saved.
    Madeleine [Blair], U.S. prostitute and “madam.” Madeleine, ch. 10 (1919)