类是面向对象与面向过程的其中一个重要区别。
面向对象及类:
1.面向对象:对象=数据(数据类型)+行为(函数)
2.在过程化程序设计中,程序的基本单位是函数。
在面向对象程序设计中,程序的基本单位是类。
类:
1.三种访问权限:对结构体/类中的数据或函数的访问加以限制。
(1)public:公有权限,可以随意访问(类的里面,类的外面)
(2)protected:保护权限,与继承有关(限制儿子可以访问)
(3)private:私有权限,自己(类的里面即私有数据成员)可以访问
2.结构体与类的区别:默认访问权限不同
(1)结构体:默认公有public
(2)类:默认私有private
3.通常数据私有,部分成员函数公有(接口函数)
4.对于访问权限的检查是编译期而不是运行期。
如何理解面向对象:
拿一个例子来说,生活中常用的冰箱,洗衣机。
洗衣机在功能上:洗衣服
外观:类型,品牌,长,宽,高,型号
在c中的表达:
struct 洗衣机{
int nwidth;
int nheight;
int nlength;
int ntype;
int nbrand;
}; //这些可以表示为洗衣机的外观
void 洗衣服(洗衣机,衣服)
{
} //洗衣机的功能
洗衣机 海尔洗衣机;
洗衣服(海尔洗衣机,脏衣服) //可能会造成一种错误, 洗衣服(海尔冰箱,脏衣服)这样输入后程序可能仍会运行
但这样写的话是有缺陷的,洗衣机本来就是用来洗衣服的,但这里却将他的功能和外观分离开了。
c++中的表达:
struct 洗衣机{
int nwidth;
int nheight;
int nlength;
int ntype;
int nbrand;
void 洗衣服(衣服);
}; //在c++中就可以直接将洗衣机的外观和功能结合,即将数据+行为很好的结合在了一起构成了对象。
海尔洗衣机.洗衣服(脏衣服);
.
.
.
.
.
详细内容可在b站中观看:
https://www.bilibili.com/video/av76448370