接口即将淘汰吗?

问题描述

| 正如我发现的那样,抽象类是零实现的接口。我对吗 ? 那为什么在某些语言中有接口类,我的意思是C ++没有接口。 不久有一天会过时吗?     

解决方法

C ++没有接口,因为它支持多重继承,而C#不支持。 C#提供了克服此障碍的接口,因此不会,接口不会过时。     ,一个类只能从一个类继承。但是,可以将多个接口应用于单个类。抽象类不能替换接口。     ,接口以诸如Java之类的语言存在,以便提供缺乏多重继承的功能。因此,该语言仅提供了从一个基类继承的可能性,但保证了实现不同接口的可能性。     ,不可以,因为接口具有仅具有抽象方法(或任何其他种类的类)的抽象类所没有的属性:一个类可以实现任意多个接口,而一个类只能从另一个类继承。因此,如果您将所有接口都转换为抽象类,则您将无法使一个“实现”类超过一个“接口”。 但是,应该指出,您的观察在除C#之外的其他某些语言中是正确的。例如,在C ++中,没有单独的接口构造。 C ++中的\“ interfaces \”是仅具有抽象方法的抽象类。     ,C ++没有特殊的接口语法,例如
interface
关键字,因为这恰好是语言设计师做出的设计决策。但是C ++确实确实提供了对接口的完全支持。 接口不会过时。实际上,使用接口的技术正在越来越广泛地被使用。     ,C ++没有接口,因为与Java不同,它允许多重继承。这使事情复杂化。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...