(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仍然允许您声明老式的全局函数,但是,近年来,系统库和开发人员编写的代码越来越多地转向一致使用类方法。使用类方法的优点是它们在逻辑上与类绑定,类充当一组相关函数的名称空间。

相关推荐
_1_743 分钟前
unigui 登陆界面
delphi·unigui
Hacker_Oldv1 小时前
网络安全的学习路线
学习·安全·web安全
蒟蒻的贤1 小时前
vue学习11.21
javascript·vue.js·学习
高 朗1 小时前
【GO基础学习】基础语法(2)切片slice
开发语言·学习·golang·slice
寒笙LED1 小时前
C++详细笔记(六)string库
开发语言·c++·笔记
码上有前1 小时前
解析后端框架学习:从单体应用到微服务架构的进阶之路
学习·微服务·架构
岳不谢2 小时前
VPN技术-VPN简介学习笔记
网络·笔记·学习·华为
海害嗨2 小时前
阿里巴巴官方「SpringCloudAlibaba全彩学习手册」限时开源!
学习·开源
小A1593 小时前
STM32完全学习——使用SysTick精确延时(阻塞式)
stm32·嵌入式硬件·学习
小A1593 小时前
STM32完全学习——使用标准库点亮LED
stm32·嵌入式硬件·学习