The relationship between a class and its subclass often starts being simple but gets more complicated over time. A subclass will often depend on its parent more intimately than will a separate class, but it can go too far. A key challenge is deciding what a class is versus what a class has . A class structure often starts with inheritance and moves to a more compositional style over time. |