(delphi11最新学习资料) Object Pascal 学习笔记---第12章操作类(类方法和类数据)

第12章 操作类

​ 在过去的几章中,你已经了解了 Object Pascal 语言面向对象的基础:类、对象、方法、构造函数、继承、后期绑定、接口等等。现在,我们需要进一步了解与类管理相关的一些更高级、更具体的语言特性。从类引用到类助手(class helper),本章涵盖了许多其他 OOP 语言所没有的功能,或者至少在实现上有很大的不同。

​ 本章的重点是类,以及在运行时对类的操作。在第 16 章介绍反射和属性时,我们将进一步介绍这一主题。

12.1 类方法和类数据

​ 当你在 Object Pascal语言 和其他大多数 OOP 语言中定义一个类时,你就定义了该类对象(或实例)的数据结构,以及你可以在该对象上执行的操作。不过,也可以定义类中所有对象共享的数据以及可以直接调用的类方法,从而不依赖于用类创建任何实际对象。

​ 要在 Object Pascal 中声明一个类方法,只需在其前面添加 class 关键字即可。

就像在过程或函数关键字前面一样:

pascal 复制代码
type
	TMyClass = class
		class function MeanValue: Integer;

​ 给定一个TMyClass 类的对象 MyObject,你可以通过将该类方法应用于一个对象或与类作为一个整体来调用该方法:

pascal 复制代码
var
	MyObject: TMyClass;
begin
	...
	I := TMyClass.MeanValue;
	J := MyObject.MeanValue;

​ 这种语法意味着即使没有类的实例也可以调用类的方法。有些情况下,类只由类方法组成,隐含的意思是您永远不会创建这些类的对象(您可以通过声明创建构造函数为私有)。

注解 在不允许使用全局函数的面向对象编程语言中,使用类方法尤其是仅由类方法组成的类的现象更为常见。Object Pascal仍然允许您声明老式的全局函数,但是,近年来,系统库和开发人员编写的代码越来越多地转向一致使用类方法。使用类方法的优点是它们在逻辑上与类绑定,类充当一组相关函数的名称空间。

相关推荐
m0_6896182836 分钟前
水凝胶发生器,不对称设计妙,医电应用前景广
笔记
Ace'36 分钟前
每日一题&&学习笔记
笔记·学习
IM_DALLA40 分钟前
【Verilog学习日常】—牛客网刷题—Verilog进阶挑战—VL25
学习·fpga开发·verilog学习
挥剑决浮云 -1 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
丶Darling.1 小时前
LeetCode Hot100 | Day1 | 二叉树:二叉树的直径
数据结构·c++·学习·算法·leetcode·二叉树
新晓·故知2 小时前
<基于递归实现线索二叉树的构造及遍历算法探讨>
数据结构·经验分享·笔记·算法·链表
魔理沙偷走了BUG2 小时前
【数学分析笔记】第4章第4节 复合函数求导法则及其应用(3)
笔记·数学分析
z樾3 小时前
Github界面学习
学习
道爷我悟了4 小时前
Vue入门-指令学习-v-html
vue.js·学习·html