图像和声音文件(4)
5.8 继承的设计技巧
在本章的最后,我们给出对设计继承很有帮助的一些技5
1.将公共操作和字段放在超类中。
出就是将姓名字段放在Rersn类中,而没有将它重复放在9的s积50m类中物重具
2.不要使用受保护的字段。
有些程序员认为,将大多数的实例字段定义为pwetert是一个不能的主案一以了一,这样子类就能够在需要的时候访问这些字段。然而,们期得未题。以理多的保护,这有两方面的原因,第一,子类集合是无限制的,任何一个人都活停者的,美器生一个于类,然后编写代码直接访间potected实例字段,从而表不了封能性。索三整。中,在同一个包中的所有类都可以访问proered字段,而不管它们是否为这个类的子类。不过,protected方法对于指示那些不提供一般用途而应在子类中重新定义的方法很有用。
3.使用继承实现“is-a”关系。
使用继承很容易达到节省代码量的目的,但有时候也会被人们滥用。例如,假设需要定义一个Contractor类。钟点工有姓名和雇佣日期,但是没有工资。他们按小时计薪,并且不会因为拖延时间而获得加薪。这似乎在诱导人们由Employee 派生出子类Cantractor,然后再增加一个hourlyWage字段。
public class Contractor extends Employee
( ̄ω ̄) [摸摸头]:
private double hourlynage;
比,使用继承来实现最后反而会多写很多代码。
钟点工与员工之间不属于“is-a”关系。钟点工不是特殊的员工。
4.除非所有继承的方法都有意义,否则不要使用继承。