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:
“If the technology cannot shoulder the entire burden of strategic change, it nevertheless can set into motion a series of dynamics that present an important challenge to imperative control and the industrial division of labor. The more blurred the distinction between what workers know and what managers know, the more fragile and pointless any traditional relationships of domination and subordination between them will become.”
—Shoshana Zuboff (b. 1951)
“Report of fashions in proud Italy,
Whose manners still our tardy-apish nation
Limps after in base imitation.”
—William Shakespeare (15641616)
“The traveler to the United States will do well ... to prepare himself for the class-consciousness of the natives. This differs from the already familiar English version in being more extreme and based more firmly on the conviction that the class to which the speaker belongs is inherently superior to all others.”
—John Kenneth Galbraith (b. 1908)