内容:1、什么是类和对象?
2、数据成员、成员函数。
3、类的访问限定符(public、private)
1、什么是类和对象?
以狗狗为例:
信息:
名字:旺财
年龄:1.5岁
品种:宠物狗
技能:
吠
看门
吃东西
我们可以将狗的信息抽象出来,定义一个狗的类。如:
#include<iostream>
using namespace std;
class Dog
{
char name[20];
int age;
int type;
void speak();
void KanMeng();
void eat();
};
类——>class
类名——>Dog
数据成员(也可以叫做属性)——> char name[20];
int age;
int type;
成员函数(也可以叫做方法)——>void speak();
void KanMeng();
void eat();
思考:上面抽象出来的是否是狗的全部信息?
答:答案显然是不是。
狗的体重是多少?
狗的发情期为几个月?
狗肉的蛋白质含量?
结论:目的不同抽象出的信息就相对不同。
再以电视为例:
class TV
{
char name[20];//电视机的铭牌
int type;//电视机的型号
void changeVol();//音量调节
void power();//电源控制
};
显然,这里的属性和方法很少,但如果什么都需要显示的话就会出现这样的情况。比如说:
如果你对电视构造不是那么清楚的话,你可能就会想问:
电源在哪?
调节音量在哪?
工作过程是怎样的?
那么看电视的人,也会头大。
所以,我们需要——选择性暴露。将实现细节封装起来,只给用户暴露出需要的部分就行了。如:
class TV
{
char name[20];//电视机的铭牌
int type;//电视机的型号
void changeVol();//音量调节
void power();//电源控制
};
这些是可以暴露的。
电阻调节
像素配色
这些是希望隐藏的。
思考:如何把想暴露出的信息暴露出,想隐藏的信息隐藏起来呢?
答:c++给我们提供了访问限定符:
public:公共的
protected:受保护的
private:私有的
所以我们可以这样来修改代码:
class TV
{public://希望暴露
char name[20];//电视机的铭牌
int type;//电视机的型号
void changeVol();//音量调节
void power();//电源控制private://希望隐藏
电阻调色
像素配色
};
哈哈,这里就只是简单形象地描叙了类和对象的概念,如果你想了解更多,就需要多看书,查资料,希望爱学习的你会更加强大,大家加油!
不忘初心,方得始终!