问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

C++三大特征:封装、继承、多态详解

创作时间:
作者:
@小白创作中心

C++三大特征:封装、继承、多态详解

引用
CSDN
1.
https://blog.csdn.net/jizhidexiaoming/article/details/89202526

C++作为一门面向对象的编程语言,其核心特性包括封装、继承和多态。这些特性不仅体现了面向对象编程的思想,也为软件开发提供了强大的工具。本文将详细介绍C++的这三大特征,并通过代码示例帮助读者更好地理解它们的应用。

一、封装

封装是面向对象编程的基础概念之一,它将数据和操作数据的函数绑定在一起,通过设置私有成员来限制对数据的访问。在C++中,类包含私有成员(private)、保护成员(protected)和公有成员(public)。默认情况下,类中定义的所有成员都是私有的,这样可以保证良好的封装性。

例如:

class Box {
private:
    double length;
    double breadth;
    double height;

public:
    double getVolume(void) {
        return length * breadth * height;
    }
};

在这个例子中,变量lengthbreadthheight都是私有的(private)。这意味着它们只能被Box类中的其他成员访问,而不能被程序中其他部分访问。这是实现封装的一种方式。

二、继承

继承允许我们基于另一个类来定义一个类,这使得创建和维护应用程序变得更加容易。通过继承,可以重用代码并提高执行效率。在C++中,一个类可以从多个基类继承,但需要谨慎使用多继承。

C++中的继承方式包括publicprivateprotected,其中public继承最为常用。例如:

class Rectangle: public Shape {
    // ...
};

class Rectangle: public Shape, public PaintCost {
    // ...
};

public继承中,派生类可以访问基类的公有成员和保护成员,但不能直接访问基类的私有成员。例如:

class Rectangle: public Shape {
    // ...
};

cout << "Total area: " << Rect.getArea() << endl;

三、多态

多态意味着在调用成员函数时,会根据调用函数的对象类型来执行不同的函数。C++中实现多态的方式有两种:静态链接和动态链接。通常使用动态链接,通过在基类的函数声明前添加virtual关键字来实现。

例如:

int area() { // 静态链接
    cout << "Parent class area :" << endl;
}

virtual int area() { // 动态链接
    cout << "Parent class area :" << endl;
}

class Rectangle: public Shape {
    // ...
    int area() {
        cout << "Rectangle class area :" << endl;
    }
};

class Triangle: public Shape {
    // ...
    int area() {
        cout << "Triangle class area :" << endl;
    }
};

纯虚函数是实现多态的另一种方式。当基类中定义的虚函数没有实际的实现时,可以将其声明为纯虚函数。含有纯虚函数的类被称为抽象类,抽象类只能作为派生类的基类。例如:

virtual int area() = 0; // 纯虚函数

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号