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

相关推荐
一只侯子30 分钟前
Face AE Tuning
图像处理·笔记·学习·算法·计算机视觉
烤麻辣烫1 小时前
黑马程序员大事件后端概览(表现效果升级版)
java·开发语言·学习·spring·intellij-idea
烤麻辣烫3 小时前
黑马程序员苍穹外卖(新手)DAY6
java·开发语言·学习·spring·intellij-idea
whale fall3 小时前
【剑雅14】笔记
笔记
星空的资源小屋4 小时前
跨平台下载神器ArrowDL,一网打尽所有资源
javascript·笔记·django
Xudde.5 小时前
Quick2靶机渗透
笔记·学习·安全·web安全·php
AA陈超5 小时前
Git常用命令大全及使用指南
笔记·git·学习
麦麦在写代码6 小时前
前端学习5
前端·学习
愚戏师6 小时前
Python3 Socket 网络编程复习笔记
网络·笔记
降临-max7 小时前
JavaSE---网络编程
java·开发语言·网络·笔记·学习