当前位置: 首页 > news >正文

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

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

http://www.lryc.cn/news/348586.html

相关文章:

  • 面向 C# 开发人员的电子邮件转换控件 - EML 到 PNG
  • Vue3:数据交互axios
  • 芯片的性能指什么
  • Java通过百度地图API获取定位-普通IP定位
  • 5月13号作业
  • 【计算机网络】Socket网络编程
  • Ansible自动运维工具之playbook
  • 【启明智显技术分享】SSD201/SSD202D核心板UI界面开发全攻略:LVGL使用指南
  • 数据可视化(九):Pandas北京租房数据分析——房源特征绘图、箱线图、动态可视化等高级操作
  • ADOP带你了解:跳线与交叉电缆有何不同?
  • Django 和 Spring Boot
  • 上位机图像处理和嵌入式模块部署(树莓派4b的替代品)
  • Springboot整合 Spring Cloud Gateway
  • Rust开发工具有哪些?
  • 20240514基于深度学习的弹性超材料色散关系预测与结构逆设计
  • SAP:FI 财务凭证行项目文本前台修改
  • 【linux系统学习教程 Day02】网络安全之Linux系统学习教程,管道,文件内容统计,过滤排序,去重,目录介绍
  • Spring Cloud LoadBalancer 4.1.2
  • 使用Xshell工具连接ubuntu-方便快捷
  • leetcode22 括号生成-组合型回溯
  • mac定时任务、自启动任务
  • 重磅 | 国家标准《网络安全技术 零信任参考体系架构》正式发布
  • 【C++】可变参数模板简单介绍
  • RabbitMQ--死信队列
  • 微信小程序毕业设计-基于Java后端的微信小程序源码150套(附源码+数据库+演示视频+LW)
  • 提前预知职业天赋!霍兰德职业兴趣测试API接口给你精准推荐
  • js强大的运算符:??、??=
  • 【MATLAB源码-第207期】基于matlab的单相光伏并网系统仿真,并网策略采用基于扰动观测法的MPPT模型和使用电压电流双闭环SPWM控制。
  • java发送请求-二次开发-get请求json
  • Typescript高级: 对泛型和多态的应用, 实现Java中的ArrayList和LinkedList