何为面向对象(oop):
基于对象,以对象为中心,以类和继承为构造机制,来模拟客观世界
1、对象是有数据和容许的操作促成的封装体,与客观实体对应
2、面向对象是一种编程思想
oop的特性:
1、抽象
2、封装和数据隐藏
3、多态
4、继承
5、代码的可重用性
过程性编程和面向对象编程
过程性编程:先考虑遵循的步骤,再考虑如何表示这些数据
面向对象编程:不仅考虑数据如何表示,还考虑数据如何使用
抽象和类
抽象:将问题的本质特征抽象出来,并根据特征来描述解决方案。
c++中的类:
1、类是一种将抽象转换为用户定义类型的工具
2、将数据表示和操纵数据的方法组成一个整体
3、类的实例为对象
4、类是对象的模板
5、类的变量和函数成为成员
类声明:
数据成员描述数据部分,成员函数描述公有接口
class MyClass
{
public:
MyClass();
~MyClass();
//成员函数
private:
//数据成员
};
类定义:
实现成员函数的功能
MyClass::MyClass()
{
}
MyClass::~MyClass()
{
}
class与struct
访问修饰符:
public:修饰的成员在任意地方都可以访问
private:修饰的成员只能在类中或者友元函数中可以访问
protected: 修饰的成员类中函数子类以及友元函数中访问
封装:
通过成员函数(方法)实现。
将实现细节放在一起并将它们与抽象分开被称为封装。
数据隐藏是一种封装(防止直接访问数据)
数据成员放在私有部分,成员函数(接口)放在共有部分