Ada:接口和抽象标记类型之间的区别?

问题描述 投票:0回答:2

根据Adaic,Ada中的接口定义为 “没有组件也没有具体操作的标记类型”。它可以用于多重继承。 相反,抽象类型是一种标记类型,旨在用作其他类型的祖先,但不允许拥有自己的对象。

两者的本质区别仅仅是接口的多重继承特性吗?这些类型可以互换使用吗?

interface ada
2个回答
7
投票

接口不能有任何组件,并且一个接口的所有操作都必须是抽象的。抽象标记类型可能具有组件并且可能具有非抽象操作。

具体类型可以扩展多个接口,但只能扩展单个标记类型。

“恕我直言,接口毫无价值。” Randy Brukardt,ARG 成员兼 ARM 编辑


0
投票

我认为在某些情况下,如果没有界面,解决问题是非常困难的,甚至是不可能的。一个非常传统的例子是依赖注入。

© www.soinside.com 2019 - 2024. All rights reserved.