面向对象思想
C++面向对象的三大特性
封装:封装是将对象的状态(数据)和行为(方法)打包在一起,隐藏对象的内部实现细节,只提供公开的接口供其他对象访问。
继承: 继承允许创建新类从已有的类中继承其属性和方法,新类称为子类(派生类),已有的类称为基类(父类)。
多态:多态是在运行时允许不同类的对象对同一消息作出不同响应的特性。多态性分为编译时多态(函数重载)和运行时多态(虚函数)。
C++认为万事万物都皆为对象,对象上有其属性和行为
人可以作为对象,属性有姓名、年龄、身高、体重…,行为有走、跑、跳、吃饭、唱歌…
车也可以作为对象,属性有轮胎、方向盘、车灯…,行为有载人、放音乐、放空调…
具有相同性质的对象,我们可以抽象称为类,人属于人类,车属于车类
封装
class MyClass {
private:
int data;
public:
MyClass(int d) : data(d) {}
void setData(int d) {
data = d;
}
int getData() const {
return data;
}
};
继承
class Base {
public:
void baseMethod() {
// ...
}
};
class Derived : public Base {
public:
void derivedMethod() {
// ...
}
};
多态
class Base {
public:
virtual void display() {
cout << "Base display" << endl;
}
};
class Derived : public Base {
public:
void display() override {
cout << "Derived display" << endl;
}
};
Base* ptr = new Derived();
ptr->display(); // 输出 "Derived display",展现了多态性
https://blog.csdn.net/cui_yonghua/article/details/131376206