• 类与对象


    类和对象

    1.类
    首先,类这个字在新华字典中的解释为:很多相似事物的综合:种类。类群。类别。类书。分类。人类。它在面向对象中也有相同的意思。一类事物有不同于另一类事物的特性。比如属于移动通信类的手机可以即时通讯,上网冲浪。而属于家具类的桌椅却不太可能实现。我们在学习C语言时看到的的各种字符串函数如strcmp();strcat();strlen();都是属于String类的函数,在使用他们的时候必须添加#include <string.h>。

    类在面向对象程序设计中,程序是由类构成的。类是对逻辑上相关的函数与数据的封装,它是对问题的抽象描述.

    class Clock{        //class为类关键字  Clock则为类名
        public:         //外部接口,公有成员
        void setTime(int newH,int newM,int newS);//行为,代码成员
        void showTime();
        private:        //特定访问权限,私有成员
        int hour,minute,sencond;//数据成员
    };
    

    相信大家刚开始看到这些注释心中不免有疑惑,这些什么公私有成员,接口,权限是什么意思,好抽象。
    我们来举一个简单的例子。你想骑一辆车,于是你用手机扫描哈喽单车的二维码,这辆单车具有移动,刹车功能。当你骑完之后手机会显示你的骑行时间以及应缴金额。
    这个二维码就相当于这辆单车的接口,任何人都可以扫它,所以是公有的,在类中我们用public来表示。而车辆的功能是你在扫描接口后才能使用的,在类中,我们叫它行为,也就是各个函数。你的骑行时间以及应缴金额则是由后台自动计算的,你能不能修改它呢?当然不能,所以这就是具有特定访问权限的私有成员。当然这只是一个简单的引入,与面向对象中的类的概念还有区别。
    class->public->private,这个代表了类中的访问顺序的控制,你要访问私有成员,必须通过类,公有成员才能访问,不能直接访问私有成员。就像共享单车,要计时收费,必须先扫描二维码开启它。

    声明类的对象(与声明变量相同)

    类名 对象名

    Clock myClock;
    

    类的成员函数的实现

    void Clock::setTime(int newH,int newM,int newS)
    {
        此处省略。。。。。。
    }
    

    类的成员函数的调用

    myClock.showTime();
    

    内联成员函数:如果有个函数需要频繁使用,且代码比较简单,就可以将这个函数定义为内联函数。
    将内联函数直接放在类体内,为隐式声明

    class Clock{        //class为类关键字  Clock则为类名
        public:         //外部接口,公有成员
        void setTime(int newH,int newM,int newS);//行为,代码成员
        void showTime();{
            cout<<hour<<minute<<second<<endl;
        }
        private:        //特定访问权限,私有成员
        int hour,minute,sencond;//数据成员
    };
    

    为了保证类定义的简洁,可以采用关键字Inline显示声明的方式。

    inline void Clock:: showTime();{
            cout<<hour<<minute<<second<<endl;
        }
    
  • 相关阅读:
    windows下编译及使用libevent
    安装和使用memcached
    BroadcastReceiver插件化解决方案
    Service插件化解决方案
    Activity插件化解决方案
    换肤-插件化
    资源的插件化
    startActivity进行Hook
    代理模式
    对反射的封装
  • 原文地址:https://www.cnblogs.com/simple5960/p/11504798.html
Copyright © 2020-2023  润新知