小
小雨哥
Unregistered / Unconfirmed
GUEST, unregistred user!
这是一个抽象类。顾名思义,抽象类是用来抽象一般事物,它本身应该是泛意的,而基于它
产生的真正的对象,才是 Graphic 的。Delphi 原代码中直接定义为抽象类的类并不多,比
如 : TStream 也是一个抽象类,仔细通读这些类的定义方法,可以给自己带来很多收获。
现在,让我们一起走进 TGraphic ,我首先请大家要做的事情是忘掉代码,只需要用欣赏的
心情走入图形的世界。
怎样来定义一个抽象类?哇塞,这样的问题不要来问我,那是高智商问题,容易导致脑部抽
筋。TGraphic 就是一个抽象类,它是怎么定义的?任何事物的抽象,都是有其真实的参照
物来的,TGraphic 的参照物就是世界上的所有图形图像。那么图形图象这么多,那些是它
们共有的可以被抽象的?很容易回答这个问题,无非就是宽度、长度,除了这二个东西外,
我们都不能真正地抽象图形,这一点可以从 TGraphic 类中的 Equals 方法中领悟到。
Equals 方法是这样判断二个图像是否相等的:首先,它检查这二个图像是否具有相同的类
形,假如类型相同,那么就仔细比较他们的每一个部分,直到得到的比对结果完全一样,这
个函数才会回答这二个图像是否真的相等。
看看,也就是说,实际上并没有一个更简单的办法可以抽象图形,如果有的话,这个函数大
概就不会这么写了,当然,写这个函数的程序员并没有自大,他觉得在他目前的AI状态下,
这个函数大概也就到此为止了,但他并不排除 High AI 的人士存在,所以他在这个函数的
尾部定义了一个关键词:virtual ,目的无非是让高智商的人士有用武之地。
[请待下文,本篇没分,因为我也快穷得叮当响了]
产生的真正的对象,才是 Graphic 的。Delphi 原代码中直接定义为抽象类的类并不多,比
如 : TStream 也是一个抽象类,仔细通读这些类的定义方法,可以给自己带来很多收获。
现在,让我们一起走进 TGraphic ,我首先请大家要做的事情是忘掉代码,只需要用欣赏的
心情走入图形的世界。
怎样来定义一个抽象类?哇塞,这样的问题不要来问我,那是高智商问题,容易导致脑部抽
筋。TGraphic 就是一个抽象类,它是怎么定义的?任何事物的抽象,都是有其真实的参照
物来的,TGraphic 的参照物就是世界上的所有图形图像。那么图形图象这么多,那些是它
们共有的可以被抽象的?很容易回答这个问题,无非就是宽度、长度,除了这二个东西外,
我们都不能真正地抽象图形,这一点可以从 TGraphic 类中的 Equals 方法中领悟到。
Equals 方法是这样判断二个图像是否相等的:首先,它检查这二个图像是否具有相同的类
形,假如类型相同,那么就仔细比较他们的每一个部分,直到得到的比对结果完全一样,这
个函数才会回答这二个图像是否真的相等。
看看,也就是说,实际上并没有一个更简单的办法可以抽象图形,如果有的话,这个函数大
概就不会这么写了,当然,写这个函数的程序员并没有自大,他觉得在他目前的AI状态下,
这个函数大概也就到此为止了,但他并不排除 High AI 的人士存在,所以他在这个函数的
尾部定义了一个关键词:virtual ,目的无非是让高智商的人士有用武之地。
[请待下文,本篇没分,因为我也快穷得叮当响了]