Skip to content

C++ 的三大特性

C++ 的三大特性包括封装、继承和多态‌

‌封装

封装是将数据和操作数据的方法封装在类中,对外部隐藏类的内部实现细节。通过将数据成员设为私有(private),并提供公有的(public)成员函数来访问和修改这些数据,从而实现对数据的保护和控制。这样可以防止外部代码直接访问和修改类的内部数据,提高了代码的安全性和可维护性‌

继承‌

继承允许一个类(子类或派生类)继承另一个类(父类或基类)的属性和方法。子类可以继承父类的公有和保护成员,并可以添加自己的新成员或重写父类的成员函数。继承可以减少重复的代码,并通过创建类的层次结构来组织代码,提高了代码的重用性和可维护性‌

‌多态‌:

多态是指同一类事物以多种形式存在。多态分为静态多态和动态多态。静态多态包括函数重载和运算符重载,而动态多态主要通过虚函数实现,允许父类的指针或引用指向子类对象,并在运行时调用子类的重写函数,实现运行时多态。多态提高了程序的灵活性和可扩展性‌

封装、继承和多态的具体应用场景和示例

‌封装‌:通过封装,可以将数据和操作方法封装在一个类中,例如定义一个 Person 类,其中包含私有成员变量 name 和 age,以及公有成员函数 setName 和 getName 来访问这些变量。这样外部代码只能通过这些公有接口来操作数据,保证了数据的安全性。

‌继承‌:通过继承,可以复用已有的代码。例如,定义一个基类 Vehicle,包含共有的属性和方法,然后定义一个派生类 Car 继承自 Vehicle,并添加特定的属性和方法。这样,Car 类可以复用 Vehicle 类的属性和方法,同时添加自己特有的功能。

‌多态‌:通过多态,可以实现不同的对象对同一消息做出不同的响应。例如,定义一个基类 Animal 和一个派生类 Dog,基类中有一个虚函数 speak()。在派生类中重写 speak() 函数,当通过基类指针调用 speak() 时,根据对象的实际类型调用不同的实现,实现了运行时多态。