20176408李俊 类与对象

抽象

是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程
数据抽象:描述某类对象的属性或状态(对象相互区别的物理量)
int Hour , int Minute , int Second
代码抽象:描述某类对象的共有的行为特征或具有的功能
SetTime( ) , ShowTime( )
抽象的实现:通过类的声明

将抽象出的数据成员、代码成员相结合,将它们视为一个整体。
目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只需要通过外部接口,以特定的访问权限,来使用类的成员。
实现封装:类声明中的{}

是具有相同属性和行为的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和行为两个主要部分。
利用类易于编写大型复杂程序,其模块化程度比C中采用函数更高。
类是一种用户自定义类型,声明形式:
class 类名称
{
public:
公有成员(外部接口)
private:
私有成员
protected:
保护型成员
};

公有类型成员
在关键字public后面声明,它们是类与外部的接口,任何外部函数都可以访问公有类型数据和函数。
私有类型成员
在关键字private后面声明,只允许本类中的函数访问,而类外部的任何函数都不能访问。
如果紧跟在类名称的后面声明私有成员,则关键字private可以省略:
class Clock
{ int Hour,Minute,Second;
public:void SetTime(int NewH,int NewM,int NewS);
void ShowTime();
};
成员数据
与一般的变量声明相同,但需要将它放在类的声明体中。
成员函数
在类中说明原型,可以在类外给出函数体实现,并在函数名前使用类名加以限定。也可以直接在类中给出函数体,形成内联成员函数。
允许声明重载函数和带默认形参值的函数。
内联成员函数
1.为了提高运行时的效率,对于较简单的函数可以声明为内联形式。
2.内联函数体中不要有复杂结构(如循环语句和switch语句)。
3.在类中声明内联成员函数的方式:
将函数体放在类的声明中
使用inline关键字

对象

类的对象是该类的某一特定实体,即类类型的变量。
声明形式: 类名 对象名;
例:Clock myClock;
类中成员的访问方式
类中成员互访 直接使用成员名
类外访问 使用“对象名.成员名”方式访问 public 属性的成员

构造函数

1.构造函数的作用是在对象被创建时使用特定的值构造对象,或者说将对象初始化为一个特定的状态
2.在对象创建时由系统自动调用
3.如果程序中未声明,则系统自动产生出一个默认形式的构造函数
4.允许为内联函数、重载函数、带默认形参值的函数
5.特殊性质:
函数名与类名相同
没有返回值
声明为公有函数public

函数重载

重载函数的声明
C++允许功能相近的函数在相同的作用域内以相同函数名声明,从而形成重载。方便使用,便于记忆。
注意事项
1.重载函数的形参必须不同:个数不同或类型不同。
2.编译程序将根据实参和形参的类型及个数的最佳匹配来选择调用哪一个函数。
编译器不以形参名来区分
编译器不以返回值来区分
3.不要将不同功能的函数声明为重载函数,以免出现调用结果的误解、混淆

析构函数

1.完成对象被删除前的一些清理工作
2.在对象的生存期结束的时刻系统自动调用它,然后再释放此对象所属的空间
3.如果程序中未声明析构函数,编译器将自动产生一个默认的析构函数
规定:是类的公有函数成员
名称由类名前加” ~”构成
没有返回值

猜你喜欢

转载自blog.csdn.net/qq_43253170/article/details/83051909