(delphi11最新学习资料) Object Pascal 学习笔记---第11章 ( 接口)

第11章 接口

​ 与C++及其他语言不同,Object Pascal不支持多重继承,这意味着每个类只能有一个单一的基类。

​ 多重继承的实用性是面向对象编程专家争论的议题之一。Object Pascal中缺少多重继承可以被看做一种劣势,因为您没有C++的功能强大;但也可以被认为是优势,因为这让语言更简单并避免多重继承引入的问题。在Object Pascal中对没有多重继承的一种替代方法是使用接口,接口允许您定义一个类,并同时实现多个抽象。

注解 :今天的大多数面向对象编程语言不支持多重继承(包括Java和C#),而是使用接口。在一个类上声明支持多个接口,这样兼具灵活和强大,同时也避免了多重继承带来的问题。真正支持多重继承的主要是C++语言。一些动态面向对象语言支持混入(mix-ins),这是一种不同且更简单的方法,实现了类似于多重继承的效果。

​ 与其展开争论,不如简单承认从多个 "角度 "来看待一个对象是有用的。不过,在举例说明这个原理之前,我们必须先介绍一下接口在对象 Pascal 中的作用,并弄清它们是如何工作的。从更普遍的角度来看,接口支持的面向对象编程模型与类略有不同。实现接口的对象对其支持的每个接口都具有多态性,因为你可以调用对象实现的任何接口方法。与类相比,接口更倾向于封装,类与类之间的联系也比继承松散(因为不会继承任何实现)。

注解:本章介绍的技术以及对接口的全面支持最初是为了支持和实现Windows COM(Component Object Model)架构而添加到Object Pascal语言中的。随后,这个特性被扩展为可以在COM之外的场景使用,但一些COM元素,比如通过ID进行接口标识和引用计数支持,仍然存在于当前Object Pascal接口实现中,使其与其他大多数语言略有不同。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-05 05:10:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-05 05:10:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-05 05:10:04       87 阅读
  4. Python语言-面向对象

    2024-05-05 05:10:04       96 阅读

热门阅读

  1. 蚂蚁--- 香港存款月结单百万级重构 系分

    2024-05-05 05:10:04       44 阅读
  2. zeekeeper总结详解

    2024-05-05 05:10:04       33 阅读
  3. SQL-索引篇整理

    2024-05-05 05:10:04       32 阅读
  4. 数据库面试常问3

    2024-05-05 05:10:04       26 阅读
  5. HCIP第三节

    2024-05-05 05:10:04       30 阅读
  6. 什么是binutils-arm-linux-gnueabi

    2024-05-05 05:10:04       30 阅读
  7. SSH远程管理

    2024-05-05 05:10:04       31 阅读
  8. 人大金仓数据库技术的发展趋势和前景

    2024-05-05 05:10:04       32 阅读
  9. 算法:最长有效括号子串的长度

    2024-05-05 05:10:04       25 阅读
  10. react和vue在跨平台方面的比较

    2024-05-05 05:10:04       29 阅读