虚方法和多态

简介: 以来倒置原则程序与设计要以来抽象(Pet)类,而不依赖于具体类(Dog)

依赖倒置原则

程序与设计要以来抽象(Pet)类,而不依赖于具体类(Dog)

基类的引用

派生类的对象包含基类部分和派生类部分,所以,我们可以通过一个基类类型的引用指向派生了类。通过指向派生类的基类引用,我们仅仅只能访问派生类中的基类部分

统一提高效率

我们需要一个容器(比如说一个数组)保存所有的基类(pet),基类描述了共同属性和行为,比如说宠物都有年龄,名字,都可以发出声音,活动,需要卫士...方便管理容易扩展

子类具有差异性

但是,基类又不能涵盖所有晴空和变化,同意的行为方法往往在基类和派生类中有所区别。虽然所有的宠物都能发出声音,但是发出的声音各不相同(具有差异性)

虚方法和多态的武器

虚方法:声明为Virtual的方法就是虚方法。基类的虚方法可以在派生类中使用override进行重新
pet----------------------pet
virtual public void------virtual public void

Speak();-----------------Speak();

Dog----------------------Cat
override public void-----override public void
Speak();-----------------Speak();

相关文章
|
4月前
|
C++
9. C++虚函数与多态
9. C++虚函数与多态
54 0
|
4月前
|
存储 设计模式 编译器
【C++】继承和多态常见的问题
【C++】继承和多态常见的问题
|
4月前
|
安全 Java 编译器
继承与多态
继承与多态
|
编译器 C++
C++中的多态和虚函数
#include <iostream> using namespace std; //基类People class People{ public: People(char *name, int age); void display(); protected: char *m_name; int m_age; }; People::People(char *name, int age): m_name(name), m_age(age){} void Peopl
46 1
C++中的多态和虚函数
|
存储 编译器 C++
<c++>虚函数与多态 | 虚函数与纯虚函数 | 多态的实现原理 | 虚析构函数
<c++>虚函数与多态 | 虚函数与纯虚函数 | 多态的实现原理 | 虚析构函数
129 0
|
4月前
|
存储 编译器 C++
C++多态与虚函数
C++多态与虚函数
64 0
|
11月前
|
编译器 程序员 C++
【C++】继承和多态
【C++】继承和多态
432 3
|
10月前
|
编译器
【多态-动态绑定-向上转型-抽象类】
【多态-动态绑定-向上转型-抽象类】
39 0
C++虚函数与多态(二)
C++虚函数与多态(二)