第章 虚函数与多态性.ppt

第章 虚函数与多态性.ppt

第8章 虚函数与多态性 主要内容 8.1 向上类型转换 替代原则在C++中通过向上类型转换实现,可以将一个公有派生类的对象或地址作为基类对象或地址来处理。 派生类向上转换为基类类型,这在逻辑上是合理的,在物理上也是安全的。 在逻辑上方面,派生类继承基类的公共接口,能够发送给基类对象的消息也能够发送给派生类对象。派生类是特殊的基类类型,派生类对象(或地址)可以作为基类的实例(或地址),替代基类对象(或地址)使用。 在物理方面,基类的成员被派生类继承,在派生类对象中封装着一个无名的基类子对象,派生类对象的存储空间中从首地址开始存放的的这个基类子对象。因此,进行向上类型转换时,通过派生类对象切片,能够提供足够的基类信息,得到基类对象。而使用基类指针(或引用)指向派生类对象时也不会破坏指针(或引用)的指向规则。 面向基类编写程序 使用继承和替代原则对于改善代码的结构意义非凡。相对于各种特殊的派生类而言,基类更加抽象,更具一般性。相对于继承层次中比较稳定的上层类,低层派生类更容易发生变更,比如增加新派生类。面向基类在更高的抽象层次上编写程序,程序代码就不会依赖于特殊类型,更加稳定、健壮,具有更好的可扩展性。 一组employee类/通用payroll()函数 class employee{ void salary(){ } }; class manager : public empl

文档评论(0)

1亿VIP精品文档

相关文档