虚方法和多态

简介: 以来倒置原则程序与设计要以来抽象(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();

相关文章
|
7月前
|
C++
9. C++虚函数与多态
9. C++虚函数与多态
67 0
|
2月前
用方法重写实现多态
【10月更文挑战第19天】方法重写是实现多态的一种重要手段,它让我们能够根据具体的需求灵活地定义子类的行为,同时也使得代码更加简洁、易读和易于维护。
23 4
|
编译器 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
C++中的多态和虚函数
|
7月前
|
C++ 编译器 存储
|
存储 编译器 C++
<c++>虚函数与多态 | 虚函数与纯虚函数 | 多态的实现原理 | 虚析构函数
<c++>虚函数与多态 | 虚函数与纯虚函数 | 多态的实现原理 | 虚析构函数
150 0
|
7月前
|
存储 编译器 C++
C++多态与虚函数
C++多态与虚函数
78 0
|
7月前
|
NoSQL 编译器 程序员
『 C++类与对象 』虚函数与多态
『 C++类与对象 』虚函数与多态
|
编译器
【多态-动态绑定-向上转型-抽象类】
【多态-动态绑定-向上转型-抽象类】
53 0
C++虚函数与多态(二)
C++虚函数与多态(二)