预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共38页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

本章学习要点 了解面向对象程序设计的基本思想及其Object Pascal的语言实现。 掌握类的定义和对象的使用 掌握构造函数和析构函数的含义及定义 掌握派生类的定义及继承的意义 理解多态性的概念及多态性的实现:重载和虚 方法(或动态方法) 理解Delphi中组件属性和方法的含义 第三章Delphi中的面向对象 3.1面向对象程序设计概述 3.2类与对象 3.3类成员的访问权限 3.4继承 3.5多态性 3.6属性与方法 3.1面向对象程序设计概述 面向对象的方法学认为: 客观世界由各种“对象”构成,每个对象 都有自己的运行规律和内部状态。 通过归类,具有相同属性和行为的对象 抽象为类,每个对象都属于某个类,都 是该类的一个实例。 类之间通过继承关系构成类的层次结 构,子类可以直接继承父类的性质和 功能。 对象之间通过消息相互作用,相同的 消息作用于不同的对象会产生不同的 反应. 面向对象方法学的中心是围绕着对 象、类、消息、继承性和多态性等概 念、机制和原理展开的。其中,对象 和类是面向对象方法的核心,消息是 连接它们的纽带,封装是面向对象的 基本要素,继承性是面向对象方法的 独特贡献,而多态性则使面向对象方 法更加完美。 3.2类与对象 一、类与对象的概念 二、定义类 三、对象的使用 四、构造函数与析构函数 一、类与对象的概念 类(class)是具有相同或相似属性和行 为的一组对象的共同描述,是对相似对象 建立的模板(template)。它是一个抽象 的概念,每个对象则是一个有意义的实 体。 对象(object)由属性和方法构成。属性 是描述对象静态特征的一组数据项;方法 描述了该类对象动态特征的一个操作序 列,体现对象的行为特征或功能。 二、定义类 在ObjectPascal中,使用保留字class定义 类,定义格式如下: type 类名=class 数据成员 成员函数或过程 end; 说明: 数据成员可以是任何数据类型的变量,描述 类的状态特征,即属性。不能在类中对数据 成员进行初始化。 成员函数或过程描述类的行为特征,即方 法。 成员函数或过程必须在类体以外定义,格式如下: function类名.成员函数名(参数表):返回类型; {函数体} procedure类名.成员过程名(参数表); {过程体} 三、对象的使用 1.对象声明 var 对象名:类名; 对象名的命名规则和其他标识符相同。例如: var c1:Circle;//对象 p:^Circle;//指针 a:array[1..10]ofCircle;//数组 2.访问对象成员 声明了对象后,就可以通过对象使用类 中的成员。使用类成员的一般格式 为: 对象名.成员 3.类作用域 类作用域在类体范围内,此外,成员函 数体或成员过程体也属于类体的一部 分,在类的作用域内。 四、构造函数与析构函数 由类说明一个对象后,系统并没有实际创 建该类的对象,只是定义了一个指向该类 对象的指针。为此,ObjectPascal提供 了构造函数,它是专用的创建对象和初始 化对象的成员函数。由于构造函数是专用 的成员函数,因此,在定义时不使用保留 字function,而使用保留字 constructor,函数名通常为Create。 ObjectPascal允许用户自定义一个或 多个构造函数,自定义的构造函数可以 带参数。若在定义类时没有定义构造函 数,则系统会自动为该类生成一个默认 的构造函数。 析构函数的功能正好和构造函数相反, 它是专用的删除对象和为对象进行善后 处理的成员函数。在定义析构函数时同 样不使用保留字function,而是使用保 留字destructor,函数名通常为 Destroy。 ObjectPascal允许用户自定义一个或多 个析构函数。若在类定义时没有定义析 构函数,则系统会自动为该类生成一个 默认的析构函数。 3.3类成员的访问权限 一、封装 二、类成员的访问权限 一、封装 在程序设计中,封装(encapsulation) 就是把一组数据和与这组数据有关的操作 集合组装在一起,形成一个能动的实体, 也就是对象。这样的封装体包括外部特征 和内部实现两个方面,用户不必知道对象 的内部实现,只需根据对象提供的外部特 性接口访问对象。 二、类成员的访问权限 在ObjectPascal中,类的所有成员都有一 个标明其可见性的属性,由保留字 private、protected、public、 published或automated来说明。通过这些 保留字,可以控制对类中成员的访问权 限。 Private:具有private访问权