在这个documentation page of interfaces on dlang.org上,它说接口必须实现最终方法。什么是最终方法?似乎没有在任何其他页面上提及该关键字。
我发现this page,但它似乎是古代D1的遗留物。
最终函数只是一个返回不可变结果的函数吗?关键字是否仍然存在?
答案 0 :(得分:11)
标记为
final
的函数可能不会在派生类中被覆盖,除非它们也是private
。
答案 1 :(得分:4)
最终函数是一个无法在子类中重写的函数(与虚函数相反)。
所有模板都是最终的,因此接口中的任何模板都必须具有函数体,否则您将收到链接器错误。
答案 2 :(得分:3)
除了其他答案所说的之外:
接口可以指定最终功能并直接实现
interface Foo{
int bar();
final int doublefoobar(){
return bar()*2;
}
}