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

相关推荐
球求了3 分钟前
C++:继承机制详解
开发语言·c++·学习
时光追逐者39 分钟前
MongoDB从入门到实战之MongoDB快速入门(附带学习路线图)
数据库·学习·mongodb
一弓虽44 分钟前
SpringBoot 学习
java·spring boot·后端·学习
晓数2 小时前
【硬核干货】JetBrains AI Assistant 干货笔记
人工智能·笔记·jetbrains·ai assistant
我的golang之路果然有问题2 小时前
速成GO访问sql,个人笔记
经验分享·笔记·后端·sql·golang·go·database
genggeng不会代码2 小时前
用于协同显著目标检测的小组协作学习 2021 GCoNet(总结)
学习
lwewan2 小时前
26考研——存储系统(3)
c语言·笔记·考研
搞机小能手3 小时前
六个能够白嫖学习资料的网站
笔记·学习·分类
nongcunqq3 小时前
爬虫练习 js 逆向
笔记·爬虫
汐汐咯4 小时前
终端运行java出现???
笔记