C++第十四课 面向对象

一、面向过程程序设计

程序主要由一个个函数组成。

函数的调用过程和算法的解题步骤之间有密切的对应关系。

二、面向对象程序设计

程序由类组成。

程序运行时,多个“对象”彼此协作完成各种功能。

“对象”通常与物理世界的事物有一定的对应关系。

三、类与对象

1.类的定义:类与结构体相似,是一种自定义数据类型。类一般包含数据成员和方法成员。一般形式如下:

class 类名 {

public:

   类型 数据成员;

   类型 方法成员();

private:

   类型 数据成员;

   类型 方法成员();

}; 

数据成员(又叫成员属性)用于描述实体的属性。

方法成员(又叫成员函数)对应施加在属性上的操作。

2.对象的定义:定义对象的效果是在内存中为对象分配一片存储区域。

每个数据成员占据该对象存储区域的一部分。

每个方法成员存储在类的公共区域内,每个对象不必各自存储。

3.对象的使用:通过成员运算符“.”访问数据成员和方法成员。

4.指向对象的指针通过“->”引用成员。

5.共有成员和私有成员:

public限定名下的公共成员既可以供成员函数访问,也可以在类外部访问;private限定名下的私有成员只能供成员函数访问。

6.类外定义成员函数:

float Student::averageSocre() //::作用域限定符

四、构造函数

1.构造函数是负责对象初始化的成员函数。特点是:

函数名与类名相同;

在定义对象时自动执行一次,不能直接调用它;

不返回任何值;

如果类定义中没有构造函数,则编译器会自动生成一个构造函数。这个构造函数的函数体是空的,也没有参数。

2.可以用参数初始化表对数据成员初始化。

Box∷Box(int h, int w, int len):

   height(h),width(w),length(len){ }

3.函数同名叫重载

五、析构函数

1.析构函数是释放对象时会自动执行的函数。

析构函数的名字是类名前加“~”;

一个类只能有一个没有参数的析构函数。

六、类的继承和派生

所谓“继承”就是在一个已定义的类(叫基类或父类)的基础上建立一个新的类(叫派生类或子类)。定义派生类的写法如下:

class 派生类名: public 基类名

{

      //派生类新增加的成员

 类型 数据成员;

 类型 方法成员;

} ;

注意:

(1)派生类不能访问基类的私有成员;

(2)“class Master:public Student”中的public可替换成private, protected;

(3)派生类可以被更低级别的派生类继承,形成多级继承。

七、总结

1.面向对象程序设计有4个主要特点:

抽象 即概括、归纳

封装 类是数据和操作的封装

继承 派生类继承基类

多态性

好处:增强了可重用性,减少编程工作量。

原文地址:https://www.cnblogs.com/leopotter/p/4963854.html