面对对象方法中的抽象包括对具体问题的概括,包括数据抽象和行为抽象。数据抽象是指对象的属性或者状态,行为抽象是指某一类对象所具有的公共的功能或者公共的行为。比如时钟,时分秒就是时钟的固有属性,可以设置时间和显示时间就是时钟这一类对象的公共功能或者行为。
int NewH, int NewM, int NewS, 是数据成员 void SetTime (int NewH,int NewM,int NewM) 是函数成员
类封装了时钟的数据和行为,分别构成类的数据成员和函数成员。可以在类内声明也可以在类外声明,类内声明是隐藏的内联函数
类外声明
void Clock::SetTime(int NewH,int NewM,int NewS)
{
Hour=NewH;
Minute=NewM;
Second=NewS;
}
void Clock::Show()
{
cout <<Hout<<":"<<Minute<<":"<<Second<<":"<<endl;
}
Clock的SetTime 和ShowTime 是外部接口,可以允许访问,Hour,Minute 和Second 是内部接口,我们不能拆开时钟进行修改时间,这样会弄坏时钟,所以内部接口是私有成员,不可访问。
类的声明里,如果没有说明访问控制属性,就默认是私有成员。
内联函数的声明:隐式声明和显式声明。
隐式声明:
class Clock
{
void SetTime(int NewH,int NewM,int NewS)
void ShowTime()
{ cout<<Hour<<":"<<Minute<<":"<<Second<<":"<<endl;}
}
完成了一个隐式声明。
显式声明:
inline void Clock::ShowTime() //用inline来完成
{ cout <<Hour<<":"<<Minute<<":"<<Second<<":"<<endl;
}
完成了显式声明。
在效果上,隐式声明和显式声明效果是一样的。
类的对象就是具有该类类型的一个具体实体。声明一个对象,Clock myClock;声明对象后就可以访问对象的公有成员,需要用“.”操作符,访问公有数据成员形式是,对象名.公有数据成员。
上一个完整程序
整个程序分为三部分,第一部分是,类的定义(声明);第二部分是函数具体实现;第三部分是主函数。
每天进步一点点,刚开始学习,整理一下,觉得收获好大。思路基本上屡通了。希望给像我这样的初学者看看能有所帮助。