C# 8.0 引入了一项新的语言功能——接口成员的默认实现。
public interface IRobot
{
void Talk(string message)
{
Debug.WriteLine(message);
}
}
新的默认接口实现提供了特征语言的元素。然而,这也模糊了抽象类和接口之间的界限。
现在使用抽象类而不是具有默认实现的接口有什么好处?
很有趣,但是 CLR 将默认接口实现为抽象类。 CLR 支持多重继承。Here https://gunnarpeipman.com/csharp-interface-default-implementations/是一篇关于此的好文章。
在 C# 中,当您需要实现(在本例中实际上继承)多个接口时,您需要默认接口,因为该语言不允许您从多个类继承。
抽象类还允许您拥有state。接口中不允许使用状态(即字段)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)