做蛋糕网站的优点,宣传型企业网站,wordpress+4.2.4中文,wordpress会员组第12章 操作类
在过去的几章中#xff0c;你已经了解了 Object Pascal 语言面向对象的基础#xff1a;类、对象、方法、构造函数、继承、后期绑定、接口等等。现在#xff0c;我们需要进一步了解与类管理相关的一些更高级、更具体的语言特性。从类引用到类助手(class he…第12章 操作类
在过去的几章中你已经了解了 Object Pascal 语言面向对象的基础类、对象、方法、构造函数、继承、后期绑定、接口等等。现在我们需要进一步了解与类管理相关的一些更高级、更具体的语言特性。从类引用到类助手(class helper)本章涵盖了许多其他 OOP 语言所没有的功能或者至少在实现上有很大的不同。
本章的重点是类以及在运行时对类的操作。在第 16 章介绍反射和属性时我们将进一步介绍这一主题。
12.1 类方法和类数据
当你在 Object Pascal语言 和其他大多数 OOP 语言中定义一个类时你就定义了该类对象或实例的数据结构以及你可以在该对象上执行的操作。不过也可以定义类中所有对象共享的数据以及可以直接调用的类方法从而不依赖于用类创建任何实际对象。
要在 Object Pascal 中声明一个类方法只需在其前面添加 class 关键字即可。 就像在过程或函数关键字前面一样
typeTMyClass classclass function MeanValue: Integer; 给定一个TMyClass 类的对象 MyObject你可以通过将该类方法应用于一个对象或与类作为一个整体来调用该方法
varMyObject: TMyClass;
begin...I : TMyClass.MeanValue;J : MyObject.MeanValue; 这种语法意味着即使没有类的实例也可以调用类的方法。有些情况下类只由类方法组成隐含的意思是您永远不会创建这些类的对象(您可以通过声明创建构造函数为私有)。 注解 在不允许使用全局函数的面向对象编程语言中使用类方法尤其是仅由类方法组成的类的现象更为常见。Object Pascal仍然允许您声明老式的全局函数但是近年来系统库和开发人员编写的代码越来越多地转向一致使用类方法。使用类方法的优点是它们在逻辑上与类绑定类充当一组相关函数的名称空间。