Delphi 面向对象编程 第三章

Delphi面向对象编程 第三章前端

使用对象类别(类)或对象类型(抽象类对象接口)来描述客观世界。由于类或者类类型能够抽象出一半规律和本质特征,能够根据客观世界的复杂性进一步继承生成新类,还能够适应客观世界的变化性来实现多态。编程

对象的本质:后端

可视为一组相关代码和数据的组合。其中过程称为方法,数据称为属性。函数

可视为变量。它是‘类’类型的变量, 有本身的属性,可存储数据,它有行为,可执行自身的具有的操做。测试

可视为元数据。它封装了方法和属性,并对外提供调用接口。spa

可相互协做,共同完成任务。经过消息发送请求,在消息请求中能够调用方法和设置属性。设计

继承,组合和封装等能够构建新的对象。指针

一个非可视化的对象是一个不包括可视化控件和接口的对象。系统逻辑对象处理客户前端和数据后端的通讯。它们提供了一个抽象的中间层,能够变动客户前端和数据后端,但系统逻辑保持不变。对象

系统逻辑对象提供这些服务:客户机须要服务时,对应的系统对象就会相应,当客户机须要与数据链接时,链接系统对象就会创建和提供这种链接。继承

值类型:简单数据类型(如integerchar等)不管是做为参数仍是做为变量,都是按值传递和使用。

引用类型,它存储的是间接数据,即对该类型的引用,如class

前者传递的是值的副本,后者则是引用的副本。

对象引用和类引用:

对象是类的动态实例,对象老是被动态分配的到堆上。即对一个对象的引用如同一个句柄或指针。

类引用类型 :类的类,或称为元类,构造形式 为 class of typetype可为任何类型。类引用类型声明不能直接用于变量或参数声明中那个。能够把nil赋值给任何类引用变量。经常用于建立一个对象 或者用来测试一个对象引用类型。

对象的克隆:TPersistent 类系下的对象都是能够提供克隆行为的。TPersistent是抽象类,没有实例对象,但其提供了一个接口,引入对象的可赋值性。

对象的赋值:使用:=将一个对象的引用赋值给另外一个对象的变量;或使用assignassign to 将对象属性复制,获得两个状态同样的对象。如要克隆,须要第二种操做。

对象的生命周期:建立,运行,销毁。对象生成的方式 获取类实体的大小,分配空间,初始化,调用构造函数。

Delphi 控制对象生成 过程的主要方法是TObject.InstanceSize, TObject.NewInstance,TObject.InitInstance.

二者方法肯定目标对象来自哪里:完成初始化工做的源对象;以参数形式接收对象的传递。存在方式:存储在变量中,存储在类成员中。

对象的关系

面向对象的分析和设计:如何识别和抽象对象,如何规定对象的粒度和边界,如何创建对象的交互机制。

一个对象对另外一个对象能够作三件事:发送消息给另外一个对象;从另外一个对象中获取消息;将对象传递给一些其余对象。

发送消息和调用方法是等价有效的概念。这意味着对象之间的交互做用有四种:数据的发送,数据的接收,出发做用,消息传递给其余对象。

对象的继承是一种在保持对象的差别的同时共享对象类似性的复用。

对象的合成是一种直观复用对象的方法,即新的对象是由已有的对象组合而成。其分为聚合关系和组合关系。聚合是描述总体/部分的关联和连接。聚合关系体现‘具备’关系。聚合关系是能够传递的。组合则是具备强全部权和一致生存时间约束的聚合,称为组合聚合,体现为‘包含’关系。组合关系指定组合体或聚合体拥有他们的组成部分,组成部分只能有一个属主。

依赖关系:表示一个对象须要使用另外一个对象,它依赖另外一个对象的定义,被依赖的对象是为依赖对象存活的。

合做关系:一个对象的存活不依赖另外一个对象,两个对象之间存在平等的合做关系。

依赖和合做关系中的对象是以局部变量和方法参数的形式存在的,而组合关系和聚合关系中的变量是以数据成员或属性的形式存在的。

相关文章
相关标签/搜索