第八章 类对象的特性

第八章 类对象的特性

 

面向对象程序设计有4个主要特点:抽象、封装、继承和多态。

任何对象都应当具有两个要素,即属性和行为。对象是由一组属性和一组行为构成的。

1.类的声明和对象的定义

*类是对象的抽象,对象是类的具体实现。

*类的声明:

class 类名{

成员属性:成员;...

};

*对象的定义:与普通类型相同;

2.类的成员函数

*成员函数的性质:publicprotectedprivate

*类外定义成员函数:(要体现作用域)函数类型 类名::函数名(参数表){函数体;}

*内置成员函数:为减少时间开销,如果在类中定义成员函数中不包括循环等控制结构,C++系统自动地对其作为内置函数来处理。

注意:如果在类外定义inline函数,则必须将类定义和成员函数的定义都放在同一个头,文件(或者在同一个源文件),否则编译时无法进行置换(把函数代码拷贝嵌入到函数的调试点)。但是这样做不利于类的借口与类的实现分离,不利于信息隐蔽。

*成员函数的存储方式:同类的对象成员函数相同,因此,类的成员函数独立存储,每个对象的存储空间仅包括对象的数据成员所占的空间。

This指针用来指向不同的对象。

说明:

·成员函数的代码段的存储方式是相同的,都不占对象的存储空间。

·不论是否用inline声明,成员函数的代码段都是不占对象的存储空间;inline的声明仅影响程序的效率不影响成员函数的存储空间;

·虽然成员函数和成员数据的存储空间不同,但从逻辑角度,成员函数和成员数据是一起封装在对象中的。

3.对象成员的引用

通过对象名和成员运算符访问对象中的成员

通过指向对象的指针访问对象中的成员

通过引用来访问对象中的成员函数

4.类的封装性和信息的隐蔽性

公用接口与私有实现的分离

类声明和成员函数定义的分离:

类声明头文件(后缀.h);类实现文件(后缀.cpp;类的使用文件(后缀.cpp

在系统提供的头文件中只包括对成员函数的声明,而不包括成员函数的定义。

只有把对成员函数的定义单独放在另外一个文件中,单独编译,才能避免重复编译

C++系统提供:标准类库;用户可以自定义:自定义类库

个人笔记分享,欢迎指教,未经允许请勿转载。谢谢!

个人分享,欢迎指导,未经允许,请勿转载。谢谢!
原文地址:https://www.cnblogs.com/hello-OK/p/7050435.html