代码之家  ›  专栏  ›  技术社区  ›  casualcoder

为什么OO概念界面不被C++中的关键字表示?

  •  7
  • casualcoder  · 技术社区  · 17 年前

    界面 要表示的关键字 interfaces

    当然,可以使用纯虚拟类并将其标记为接口。然而,这个关键字似乎非常有用,并且与纯虚拟类不同,因此非常有用。也许它包含在C++ 0x中?

    8 回复  |  直到 9 年前
        1
  •  24
  •   L. Cornelius Dol    17 年前

    因为C++允许多重继承,并且因为接口是一个抽象类,它的成员都是抽象的/虚拟的,所以C++不需要它——一个类可以简单地“扩展”多个其他类,其中任何一个类都可以是纯的(抽象的)。

        2
  •  17
  •   andreee    7 年前

        3
  •  7
  •   Rob K    17 年前

        4
  •  4
  •   Joshua    17 年前

    因为接口严格地比MI弱。

        5
  •  2
  •   Daniel Earwicker    17 年前

    interface 关键词。如果有,它们也更容易维护 override new 与基类方法同名的方法的修饰符(a la C#)。但是这些对现代C++用户来说并不是有趣的问题,也不是对语言设计有贡献的人。OO特性是足够的,但不是很好,并且很少在标准库的“更新”(1992年后)部分中使用,这在某些方面可以作为良好风格的指南。

        6
  •  2
  •   Daniel Daranas    17 年前

    接口出现在不具有多重继承的语言中,部分地覆盖了这一点。C++已经有了多重继承,所以不需要继承。

    此外,并非所有语言都需要相同。C++有自己的设计和历史,有其优点和缺点,就像java、C等。试图使所有语言平等是没有用的。

        7
  •  0
  •   casualcoder    17 年前

    这是一个 short article from DDJ 这涉及到类和接口之间的区别。

        8
  •  0
  •   OscarRyz    17 年前

    实际上,“接口”OO概念是对象可以执行的操作。

    因此,Ruby或Python等语言也有“接口”,尽管它们不需要像Java那样声明它们。

    在Java中,接口OO概念与这个“接口”关键字相匹配,该关键字用于声明对象将响应某个约定(许多方法)

    C++也有这个概念,甚至每个java对象都不实现任何接口。