Inheritance introduces significant tight coupling between superclasses and their subclasses. Since good OO design requires a balance between coupling and inheritance, coupling measures focus on non-inheritance coupling. The next OO metric measures coupling strength. CBO is a count of the number of other classes to which a class is coupled. It is measured by counting the number of distinct noninheritance-related class hierarchies on which a class depends.
Excessive coupling is detrimental to modular design and prevents reuse.
The more independent a class, the easier it is to reuse in another application. Strong coupling complicates a system, since a module is harder to understand, change, or correct by itself if it is interrelated with other modules. Complexity can be reduced by designing systems with the weakest possible coupling between modules. This improves modularity and promotes encapsulation. Inheritance Another design abstraction in OO systems is the use of inheritance.