文档介绍:第二部分
面向对象程序设计
第十章类
10
§ 类的概念
第十章目录
§ 对象的定义和成员表示
§ 类的定义格式
§ 定义成员函数
§ 调用成员函数
§ this 指针
第十章小结
§ 屏蔽类的内部实现
§ 再论程序结构
类构成了实现C++面向对象程序设计的基础。
类是C++数据封装的基本单元,它把数据和函数封装在一起。
本章介绍定义类和成员函数的方法,掌握访问成员函数的方法,理解私有数据如何屏蔽外部访问的原理。
第十章类
类是对现实世界中的客观事物的抽象,将具有相同属性的一类事物称作类,类的实例称为对象。
类是一种复杂的数据类型,它是将不同类型的数据和与这些数据相关的操作封装在一起的集合体。
类具有对数据的抽象性、隐藏性和封装性。
类对象的行为由类的内部数据结构和相关的操作确定;外部行为通过操作接口实现。人们关心的就是操作接口所能提供的服务。
§ 类的概念
The aim of the C++ class concept is to provide the programmer with a tool for creating new types that can be used as conveniently as the built-in types.
A class is a user-defined type.
The classes logically don’t differ much from built-in types. Ideally such types should not differ from built-in types in the way they are used, only in the way they are created.
类定义包括两个部分:
1、说明部分(“做什么”):
数据成员(名称、类型)
成员函数(方法)
2、实现部分(“怎么做”):
成员函数的定义和实现
§ 类的定义格式
类定义的一般形式:
//说明部分(类体)
class <类名>
{
public:
<公有段数据及成员函数>
protected:
<保护段数据及成员函数>
private:
<私有段数据及成员函数>
}
//实现部分
<各成员函数的实现>
简单的类常将说明部分和实现部分合并在一起。下面定义一个为Savings 的类:
class Savings
{
public:
unsigned deposit(unsigned amount) //member
//function
{
balance+=amount;
return balance;
}
private:
unsigned accountnumber; //member date
float balance;
};
关键字class 表示类;
Savings 是自定义的类名,一般首字符用大写字母表示,与对象名相区别;
关键字public、private、protected 为访问权限控制符(Access Control),规定成员的访问权限,他们出现的顺序和次数无限制;
公有(public)成员提供了类的接口功能,不仅可以被成员函数访问,而且可以在程序中被访问;
私有(private)成员是被类隐藏的数据,只有该类的成员或友元函数才可以访问,通常将数据成员定义为私有成员;
保护(protected)成员具有公有成员或私有成员的特性。
deposit()是成员函数
Functions declared within a class definition are called member functions.
accountnumber 和balance 是两个私有数据
private data can be used only by member function.
定义一个类后,在程序中必须定义类的对象,这与定义一种类型后,必须定义该类型的变量的概念是相同的。