最后一章讨论了一些关系。一个类如何引用另一个类,还有使用类的字段和属性。本章要弄清类间的另外一种关系,继承和构建类体系。
继承定义
上一章对类大概描述了一下。下面是对术语的回顾
源/继承:特定一个基类包含附件成员,或自定义基类成员.
子类型:继承自更通用类型的成员类型。
基,超:用于被继承的通用类型
继承形式:“is a”
衍生
这通常用来给特定类型扩展功能,比如行为和数据。继承的目的是正确的做这些事。有一个person类,你创建一个Employee类,附加EmployeeId和Department属性。比如,在PDA中有个Contact类,你决定增加日历。为了这一个实现,你创建了一个Appointment类,然而,为避免重新定义所有类的方法和属性,你重构了Contact类。你将Contact类中的同样方法和属性,移入将PdaItem的基类中,它是Appointment和Contact类的基类。
在基类和衍生类中转换
在继承层次内部转换
转换一个基类是不需要实例化一个新实例。相同的实例可以很容易引用为一个基类,并且具有基类的功能。就像对于CD可以作为存储器一样。由于并不是所有的存储器都支持弹出操作,当将CD转换成一个存储器将不具有弹出。虽然CD对象支持Eject()方法,但调用storageDevice.Eject()将不能通过编译。
定义自定义转换
私有访问修饰符