类与对象

类和对象

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;
    }
posted @ 2019-09-11 10:31  Simple5960  阅读(166)  评论(0编辑  收藏  举报