这不是关于抽象类和接口之间差异的另一个问题,因此请在投票关闭它之前三思而后行。
我知道接口对于那些不支持多重继承的 OOP 语言(例如 C# 和 Java)至关重要。但那些呢with多重继承?在具有多重继承的语言中,接口的概念(作为特定的语言功能)是否多余?我猜想可以使用抽象类来建立类之间的 OOP“契约”。
或者,更明确地说,C# 和 Java 中的接口只是它们不支持多重继承这一事实的结果吗?
一点也不。接口定义契约而不指定实现。
因此,即使存在多重继承,它们也是需要的——继承与实现有关。
从技术上讲,您可以在多重继承中使用抽象类来模拟接口。但因此人们可能会倾向于在那里编写一些实现,这会造成很大的混乱。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)