是什么
允许不同类的对象对相同的消息作出不同的响应
C++能够 0成本抽象
为什么
继承: 重用/维护
实现多态(同一个方法调用在不同的类型中产生不一样的效果)
为什么要多态? 使用父类调用子类中的函数
怎么样
基类写成虚函数, 派生类中重写, 运行时根据实际类型调用不同函数
虚函数表: 每一个类都有一张(只要有虚函数, 都要增加8bit(64位))
如果是继承过来的, 不会额外产生一个指针
允许不同类的对象对相同的消息作出不同的响应
C++能够 0成本抽象
继承: 重用/维护
实现多态(同一个方法调用在不同的类型中产生不一样的效果)
为什么要多态? 使用父类调用子类中的函数
基类写成虚函数, 派生类中重写, 运行时根据实际类型调用不同函数
虚函数表: 每一个类都有一张(只要有虚函数, 都要增加8bit(64位))
如果是继承过来的, 不会额外产生一个指针