类:具有相同性质的对象成为类,例如人类、车类、花类。
对象:万物皆可为对象,对象具有行为和属性。
属性:人作为对象身高、体重就是其属性,车作为对象,车的品牌颜色就是其属性。
行为:人为对象,它的跳高跳远,走路都是其行为。车为对象,它的行驶,音乐播放都是其行为。
行为和属性的关系:通过属性制造其行为。
C++面向对象三大特性:封装、继承、多态
封装:
将属性和行为作为一个整体,表现生活的事物。
将属性和行为加以权限控制。
类中的行为和属性统称为成员(专业称谓)
属性:成员属性,成员变量
行为:成员函数,成员方法
封装权限:
public 成员 类内可以访问,类外可以访问
protected 成员 类内可以访问,类外不可以访问 儿子可以访问父亲中的保护内容
private 成员 类内可以访问,类外不可以访问 儿子不可以访问
struct默认权限是public
class默认权限是private
成员属性私有化:
1自己可以控制度读取的权限
2对于写可以检测数据的有效性
//封装案例设计立方体求面积和体积
#include<iostream>
#include<string>
using namespace std;
//设计一个圆类
class Cube
{
public:
//设置set方法
void set_L(int m_l)
{
m_L = m_l;
}
void set_W(int m_w)
{
m_W = m_w;
}
void set_H(int m_h)
{
m_H = m_h;
}
//获取立方体面积和体积
void calculateArea()
{
int area;
area = m_L * m_W * 2 + m_L * m_H * 2 + m_W * m_H * 2;
cout << "立方体的面积" << area << endl;
}
void calculateVolume()
{
int volume;
volume = m_L * m_W * m_H;;
cout << "立方体的体积" << volume << endl;
}
private:
//设置属性长宽高
int m_L;
int m_W;
int m_H;
};
int main()
{
Cube c1;
c1.set_H(10);
c1.set_W(10);
c1.set_L(10);
c1.calculateArea();
c1.calculateVolume();
return 0;
}