C++封装篇 类和对象

内容: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://希望隐藏

   电阻调色

   像素配色
};

哈哈,这里就只是简单形象地描叙了类和对象的概念,如果你想了解更多,就需要多看书,查资料,希望爱学习的你会更加强大,大家加油!

 

不忘初心,方得始终!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值