2011年12月30日

初探Object Pascal的类(十一)

摘要: 类关键字:is和as Object Pascal有两个特定的用于类的操作符: is操作符 is操作符用来确定一个类是否具有一种特定的类型。再回到TAirplane和TMilitaryPlane类例子中,假设现有一个类的实例叫Plane,此类可能是TAirplane类的实例,也可能是TMilitaryPlane类的实例,或者也可能是一个完全不同的类型。在这种情况下,就可用is操作符来确定。例如... 阅读全文

posted @ 2011-12-30 23:47 pchmonster 阅读(980) 评论(0) 推荐(0) 编辑

初探Object Pascal的类(十)

摘要: 覆盖方法 先来讨论下虚拟方法,还是以TAirplane为例,注意到TakeOff方法在TAirplane类中是虚拟方法(TakeOff方法的声明的结尾有virtual关键字),TakeOff方法由SendMessage调用,并响应MsgTakeOff消息,如果它的派生类TMilitaryPlane类没有提供自己的TakeOff方法,基类TAirplane的TakeOff方法就会被调用。由于TMi... 阅读全文

posted @ 2011-12-30 23:21 pchmonster 阅读(1691) 评论(0) 推荐(1) 编辑

初探Object Pascal的类(九)

摘要: 继承(Inheritance) 在Object Pascal中,类的最强大功能之一就是可以通过继承得到扩展。 继承(Inheritance)是指取一个现有的类,通过由它派生新类来增加功能。 开始取得类称为基类(base class)或者祖先类(ancestor class),新建立的类称为派生类(derived class)。 为了说明这些概念,我们再次回到TAirplane类。众所周知,... 阅读全文

posted @ 2011-12-30 14:00 pchmonster 阅读(936) 评论(0) 推荐(0) 编辑

初探Object Pascal的类(八)

摘要: 类实例 讲解了这么多讲了,在此举例一个类的例子是最好不过的了。下面的单元中,包含了一个名叫TAirplane的类,这个类可用于飞机控制器程序。这个类可通过发送有关信息来操作飞机,它可指示飞机起飞、降落,或者改变航程、高度、速度等。先来看看这个单元吧。 清单 Airplane.pas unit Airplane;interfaceuses SysUtils;const { 飞机类型} A... 阅读全文

posted @ 2011-12-30 13:23 pchmonster 阅读(1673) 评论(2) 推荐(2) 编辑

初探Object Pascal的类(七)

摘要: 关于Self 所有的类都有一个隐含的字段叫Self,在内存中Self是一个指向类实例的指针。 首先我们来看看,如果Self不是隐含字段的话,那么TMyRec类到底是一个什么样子: TMyRect = class private Self: TMyRect; { Self隐含字段} Left: Integer; Top: Integer; Right: Integ... 阅读全文

posted @ 2011-12-30 02:15 pchmonster 阅读(859) 评论(0) 推荐(1) 编辑

初探Object Pascal的类(六)

摘要: 方法 方法是属于类的函数和过程,它们相对于类是局部的,并且在类的外部是不存的。只有在类的内部或者通过类的实例才能调用方法,方法能存取所有的公用的、保护的和私有的字段。方法可在private、protected或者public段中声明,要设计一个比较好的类,应该考虑哪些方法应该放在类中。 公用方法(Public method)和属性(property)代表着用户与类的接口。通过公用方法,类的使用... 阅读全文

posted @ 2011-12-30 02:10 pchmonster 阅读(723) 评论(0) 推荐(0) 编辑

初探Object Pascal的类(五)

摘要: 字段 简而言之,类的字段是在类的声明中加以声明的变量,它们可以看作是具有类作用域的变量,除了类字段的存取级别可以声明为私有(private)、公用(public)或保护(protected)并加以控制外,类的字段本质与记录类型的字段是一样的。私有和保护字段对于类来说是私有的,在类的外部是看不见的;然而对于公用字段,只需要一个对象,在类的外部就可以存取。 以前面的TMyRect类为例,它没有公用... 阅读全文

posted @ 2011-12-30 02:07 pchmonster 阅读(727) 评论(0) 推荐(0) 编辑

初探Object Pascal的类(四)

摘要: 类的析构函数 析构函数也是一种特殊的方法,此方法在对象消失前会被自动调用。 析构函数可以看成是构造函数的对立面,它通常用来释放类所占的内存,或者做一些清除工作。一个类不一定必须要有一个析构函数,因为基本的类析构函数可以代替。像构造函数一样,析构函数也没有返回值。 尽管类可以有多重析构函数,但它不具有一般性,若只有一个析构程序,就应该把它命名为Destroy,这不只是一个习惯。当要释放类的实例... 阅读全文

posted @ 2011-12-30 02:04 pchmonster 阅读(986) 评论(1) 推荐(0) 编辑

初探Object Pascal的类(三)

摘要: 类的构造函数 Object Pascal中的类有一种特殊的方法叫构造函数。 构造函数是一种用来建立实例类的方法。 构造函数用来初始化任何类成员变量,为类分配所必须的内存,或者做任何其他初始化工作。 在上一讲中定义的TVehicle就没有构造函数,若不提供一个构造函数,当建立类时,就会用隐藏的类构造程序(Object Pascal所有类都是从TObject 派生,TObject类有一个构造函... 阅读全文

posted @ 2011-12-30 01:57 pchmonster 阅读(1354) 评论(1) 推荐(0) 编辑

初探Object Pascal的类(二)

摘要: 类的存取级(可见性) 类有五个存取级(可见性): 私有的(Private) 公有的(Public) 保护的(Protected) 公布的(Published) 自动的(Automated) 作为一个程序员,不仅要创建类而且要使用类。在团队编程中,一些程序员是类的创建者,而另一些程序员是类的使用者。要理解类存取级在类操作中的所担当的角色,首先必须理解怎... 阅读全文

posted @ 2011-12-30 01:43 pchmonster 阅读(1944) 评论(1) 推荐(4) 编辑

导航