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

(delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)

8.5.2 封闭类和Final方法

如前所述,Java 采用非常动态的方法,默认情况下采用延迟绑定(或虚函数)。因此,Java 语言引入了一些概念,如不能继承的类(封闭类)和不能在派生类中覆盖的方法(final方法或非虚拟方法)。

封闭类是指不能进一步继承的类。如果您要发布组件(不含源代码)或运行时包,并希望限制其他开发人员修改您代码的能力,这样做可能会有意义。最初的目标之一也是为了提高运行时的安全性,这在完全编译的语言(如 Object Pascal)中一般是不需要的。

final方法是虚方法,您在继承类中无法进一步覆盖。同样,虽然它们在 Java 中是有意义的(在 Java 中,所有方法默认都是虚方法,而final方法得到了显著优化),但在 C# 中却被采用了,因为在 C# 中,虚函数是显式标记的,其重要性要低得多。同样,它们也被添加到 Object Pascal 中,但在该语言中很少使用。

就语法而言,这是一个封闭类的代码:

typeTDeriv1 = class sealed(TBase)procedure A; override;end;

尝试从中继承会导致错误,“无法扩展封闭类TDeriv1(Cannot extend sealed class TDeriv1)”。这是最终方法的代码:

typeTDeriv2 = class(TBase)procedure A; override; final;end;

从这个类继承并覆盖A方法会导致编译器错误,“无法覆盖最终方法(Cannot override a final method)”。

相关文章:

  • 55555555555555
  • 自动化运维(四)第一个Ansible任务
  • MySQL中 in 和 exists 区别
  • Springboot集成knife4j (swagger)
  • 突破!AI机器人拥有嗅觉!仿生嗅觉芯片研究登上Nature子刊
  • STC89C51学习笔记(二)
  • Flutter-发布插件到pub上传不上问题
  • RedisDesktopManager 安装
  • 网络基础二——TCP可靠性实现机制补充
  • Composer常见错误及解决方法
  • 金融中的数学知识
  • 内部类(InnerClass) 总结
  • 计算机网络-从输入网址到访问网站的全过程
  • 金融数据_PySpark-3.0.3随机森林(RandomForestClassifier)实例
  • AI大模型与网球运动结合的应用场景及案例分析
  • [deviceone开发]-do_Webview的基本示例
  • 【笔记】你不知道的JS读书笔记——Promise
  • Apache的基本使用
  • export和import的用法总结
  • interface和setter,getter
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • mysql innodb 索引使用指南
  • node学习系列之简单文件上传
  • SegmentFault 技术周刊 Vol.27 - Git 学习宝典:程序员走江湖必备
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • Wamp集成环境 添加PHP的新版本
  • 聚簇索引和非聚簇索引
  • 理解在java “”i=i++;”所发生的事情
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 如何将自己的网站分享到QQ空间,微信,微博等等
  • 删除表内多余的重复数据
  • 深度学习中的信息论知识详解
  • 树莓派 - 使用须知
  • 再次简单明了总结flex布局,一看就懂...
  • Java性能优化之JVM GC(垃圾回收机制)
  • Prometheus VS InfluxDB
  • 资深实践篇 | 基于Kubernetes 1.61的Kubernetes Scheduler 调度详解 ...
  • ​ssh-keyscan命令--Linux命令应用大词典729个命令解读
  • #Z2294. 打印树的直径
  • ()、[]、{}、(())、[[]]等各种括号的使用
  • (2)MFC+openGL单文档框架glFrame
  • (Demo分享)利用原生JavaScript-随机数-实现做一个烟花案例
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (javascript)再说document.body.scrollTop的使用问题
  • (备忘)Java Map 遍历
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (一) storm的集群安装与配置
  • (一)80c52学习之旅-起始篇
  • (一)VirtualBox安装增强功能
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • (转)C#调用WebService 基础
  • (转)shell调试方法
  • ... 是什么 ?... 有什么用处?