Delphi面向对象的编程方法(六)
发布时间:2006-03-15 16:18:14 来源:友佳学院(整理) 网友评论 0 条2.1.10.7 将库单元加入工程
将库单元加入工程是比较简单的。无论是您自己建立的库单元还是Delphi
2.2 用Delphi的对象进行编程
Delphi是基于面向对象编程的先进开发环境。面向对象的程序设计(OOP)
2.2.1 什么是对象
一个对象是一个数据类型。对象就象记录一样,是一种数据结构。按最简单的理解,我们可以将对象理解成一个记录。但实际上,对象是一种定义不确切的术语,它常用来定义抽象的事务,是构成应用程序的项目,其内涵远比记录要丰富。在本书中,对象可被理解为可视化部件如按钮、标签、表等。
了解对象,最关键的是掌握对象的特性。一个对象,其最突出的特征有三个:封装性、继承性、多态性。
2.2.1.1 对象的封装性
对对象最基本的理解是把数据和代码组合在同一个结构中,这就是对象的封装特性。将对象的数据域封闭在对象的内部,使得外部程序必需而且只能使用正确的方法才能对要读写的数据域进行访问。封装性意味着数据和代码一起出现在同一结构中,如果需要的话,可以在数据周围砌上“围墙”,只有用对象类的方法才能在“围墙”上打开缺口。
2.2.1.2 对象的继承性
继承性的含义直接而且显然。它是指把一个新的对象定义成为已存在对象的后代;新对象继承了旧类的一切东西。在往新对象中添加任何新内容以前,父类的每一个字段和方法都已存在于子类中,父类是创建子类的基石。
2.2.1.3 对象的多态性
多态性是在对象体系中把设想和实现分开的手段。如果说继承性是系统的布局手段,多态性就是其功能实现的方法。多态性意味着某种概括的动作可以由特定的方式来实现,这取决于执行该动作的对象。多态性允许以类似的方式处理类体系中类似的对象。根据特定的任务,一个应用程序被分解成许多对象,多态性把高级设计处理的设想如新对象的创建、对象在屏幕上的重显、程序运行的其它抽象描述等,留给知道该如何完美的处理它们的对象去实现。
2.2.1.4 通过Delphi实例了解对象
让我们结合Delphi
当您要建立一个新工程时,Delphi
unit Unit1;
interface
uses SysUtils, Windows, Messages, Classes, Graphics, Controls, Forms, Dialogs;
type
TForm1 = class(TForm) {窗体的类型说明开始}
private
{ Private declarations }
public
{ Public declarations }
end; {窗体的类型说明结束}
var
Form1: TForm1; {说明一个窗体变量}
implementation
{$R *.DFM}
end.
新的窗体类型是TForm1
假设您向窗体中加入了一个按钮部件,并对这个按钮建立了一个OnClick
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
现在TForm1
当您使用ObjectInspector来改变对象(部件)的名称时,这个名称的改变会反映到程序中。例如,在ObjectInspector中将Form1的Name属性命名为ColorBox
TColorBox=class(TForm);
并且在变量说明部分,会说明ColorBox
2.2.2 从一个对象中继承数据和方法
前面的TForm1类型是很简单的,因为它只含有域Button1
一个比较特殊的对象是从一个范围较广或较一般的对象中继承下来的,它是这个特别对象的祖先,这个对象则称为祖先的后代。一个对象只能有一个直接的祖先,但是它可以有许多后代。TForm
用F1
在这个结构中所有的部件都是对象。部件类型TComponent
2.2.3 对象的范围
2.2.3.1 关于对象的范围
一个对象的范围决定了它的数据域、属性值、方法的活动范围和访问范围。在一个对象的说明部分说明的数据域、属性值、方法都只是在这个对象的范围中,而且只有这个对象和它的后代才能拥有它们。虽然这些方法的实际程序代码可能是在这个对象之外的程序库单元中,但这些方法仍然在这个对象的范围内,因为它们是在这个对象的说明部分中说明的。
当您在一个对象的事件处理过程中编写程序代码来访问这个对象的属性值、方法或域时,您不需要在这些标识符之前加上这个对象变量的名称。例如,如果您在一个新窗体上加入一个按钮和一个编辑框,并为这个按钮编写OnClick
procedure TForm1.Button1Click(Sender:Tobject);
begin
Color :=clFuchsia;
Edit1.Color :=clLime;
end;
其中的第一行语句是为整个窗体Form1
Form1.Color :=clFuchsia;
但您可以不必加上Form1.
如果Edit1
Form2.Edit1.Color := clLime;
而且需要把Unit2加入Unit1的uses
一个对象的范围扩展到这个对象的所有后代。TForm
2.2.3.2 重载一个方法
您可以重载(Override)
2.2.4 对象公有域和私有域的说明
当使用Delphi的环境来建立应用程序时,您可以在一个TForm
您可以在对象的Public
- 推荐阅讯
- Delphi字符串列表及应用(二)
- 用鼠标模拟视线跟踪技术
- 5天玩转NoahWeb逻辑层--第4天
- Delphi面向对象的编程方法(二)
- 游戏开发新手入门之位图化图形
- 在Delphi中应用AOP实现日志功能
- Delphi面向对象的编程方法(三)
- NoahWeb 什么是动作?
- 5天玩转NoahWeb逻辑层--第一天
- 解密宝典——十招教你学会软件破解
- 阅读排行
- 1.全面剖析Delphi 2006新增特性
- 2.用Delphi开发视频聊天软件
- 3.用Win32 API枚举应用程序窗口和进程
- 4.软件的架构与设计模式之什么是架构
- 5.软件的架构与设计模式之模式的种类
- 6.Delphi中为TreeView添加单选和复选框
- 7.用Delphi实现24位真彩色图标
- 8.VS.NET2005 Beta2初体验之感受2005
- 9.程序界面设计模式慨述
- 10.没落的奇迹 谁会买下Delphi?
- 专题教程
- Windows Server-Windows Server文档-Windows Server新闻-Windows Ser PostgreSQL-PostgreSQL文档-PostgreSQL新闻-PostgreSQL专家
- WebLogic-WebLogic文档-WebLogic新闻-WebLogic专家 FreeBSD-FreeBSD文档-FreeBSD新闻-FreeBSD专家
- Linux-内核 GUI KDE Gnome DNS FTP 安全 安装-Linux专区 Windows-AD IIS ServerCore 虚拟化 安全 HPC-Windows专区
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
