
上QQ阅读APP看书,第一时间看更新
1.9.1 超类和子类
超类,也称为父类(有时候也叫作基类),包含了继承自它的所有类的公共属性和行为。例如,在Mammal类的例子中,所有的哺乳动物拥有相似的属性,比如eyeColor和hairColor,也有相似的行为,比如generateInternalHeat和growHair。所有的哺乳动物都有这样的属性和行为,所以没必要在哺乳动物继承树中为每个动物中都重复一遍。重复不仅加重工作量,而且会带来更多问题,因为会引入错误和矛盾。
子类,也成为孩子类(有时被叫作衍生类),是超类的扩展。比如,Dog和Cat类从Mammal类继承了所有的公共属性和行为。Mammal类是Dog和Cat子类的超类。
继承提供了丰富的设计优势。当设计Cat类时,Mammal类提供了很多需要的功能。通过继承自Mammal对象,Cat已经拥有了成为真正的哺乳动物的所有属性和行为。为了让猫这种哺乳动物更加具体,Cat类必须拥有猫自身独一无二的属性或行为。