C++面向对象的三大特征为:封装、继承、多态;
C++认为万事万物皆为对象,对象上有其属性和行为;
既然 万事万物皆为对象,那么对象的属性是否就是一些“基本条件” 而其的行为是否可以理解为对象的作用呢?(个人的思考)
1、封装
封装的意义:
- 将属性和行为作为一个整体,表现生活中的事物
- 将属性和行为加以权限控制
封装意义一:
在设计类的时候,属性和行为写在一起,表现事物 即 属性和行为是绑定的不可分割的。
每个对象都有属性和行为;
语法: class 类名 {访问权限:属性 / 行为};
属性是否就是变量?(个人理解)
行为是否可以理解为它能做什么 他能实现什么功能?(个人理解)
行为:通常在代码中是用一个函数来代表它的;
属性:通常是一些变量;
例:
//设计一个圆类求周长;
//圆求周长的公式:2*PI*半径
class Circle //class代表要设计一个类,类后面紧跟着是这个类的名称。{这里面是类的一些具体的内容}
{
//访问权限
//公共权限
public:
//属性
int m_r;
//行为
double calculateZC()
{
return 2 * PI * m_r;
}
};
int main()
{
//通过 圆的类来创建 一个具体的圆(对象)
Circle c1;
//给圆对象的属性进行赋值
c1.m_r = 10;
cout << "圆的周长是" << c1.calculateZC() << endl;
}
实例化:通过一个类,创建一个对象的过程我们称为实例化。
好比说一个人有眼睛鼻子腿,眼睛用来看,耳朵用来听,腿用来走路,人就是类,眼睛鼻子腿就是类里的属性,看,听,走路就是类里行为。
这个人是王五 具体到了一个对象,由类实例化了王五这个对象
而这个王五有什么属性呢?它可以设置他有鼻子眼睛腿,也可以只有眼睛,根据我们的需求来设置它的属性。 他有什么样的属性就对应到它可以有哪些行为。 (个人理解)
类中的属性和行为 统一称为成员。
属性我们称为 成员属性 成员变量
行为我们称为 成员函数 成员方法