【问题标题】:Simulating interfaces when unsupported by a language在语言不支持时模拟接口
【发布时间】:2011-02-19 01:23:01
【问题描述】:

当 OOP 语言不直接支持伪接口时,有没有办法形成伪接口?

【问题讨论】:

  • 您想到的任何特定语言?
  • 你必须告诉你要处理什么。
  • 语言是虚幻引擎1(98年或99年发布)提供的unrealscript版本。它混合了 C、Java 和其他影响,支持继承、访问器,但不支持接口,这可能是一个更现代的概念。 unreal.epicgames.com/UnrealScript.htm
  • 接口是如何比 Java 更现代的概念?Java 有接口(1998 年就有了)?
  • 抱歉,我认为是这种情况,那时我对 Java 并不熟悉,对接口更不熟悉。也许这种语言的设计者当时并没有看到它们的用途。

标签: oop interface simulate


【解决方案1】:

它有虚函数吗?接口只不过是一个只有虚函数的基类,要么没有任何主体,要么带有一个在使用基类版本时会引发错误的存根。

【讨论】:

  • 函数可以被继承类覆盖,但不支持不同的签名(函数“blah”只能出现一次)。你有什么建议吗?
  • @James:这听起来像是“重载”的问题,而不是“接口模拟”的问题。不过,为不同的签名组成唯一的名称是微不足道的。
  • 是的,正如你所说,重载是不可能的。但是在避免继承的同时拥有一个通用接口会很有用。我正在考虑使用实例属性来扮演中间人的角色。不过,我还没有充分考虑这一点,也许它会被证明是不切实际的。
猜你喜欢
  • 1970-01-01
  • 2010-09-18
  • 1970-01-01
  • 2015-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-09
  • 1970-01-01
相关资源
最近更新 更多