'final'关键字是什么意思?

时间:2014-03-04 18:25:55

标签: d final

在这个documentation page of interfaces on dlang.org上,它说接口必须实现最终方法。什么是最终方法?似乎没有在任何其他页面上提及该关键字。

我发现this page,但它似乎是古代D1的遗留物。

最终函数只是一个返回不可变结果的函数吗?关键字是否仍然存在?

3 个答案:

答案 0 :(得分:11)

来自Virtual Functions

  

标记为final的函数可能不会在派生类中被覆盖,除非它们也是private

答案 1 :(得分:4)

最终函数是一个无法在子类中重写的函数(与虚函数相反)。

所有模板都是最终的,因此接口中的任何模板都必须具有函数体,否则您将收到链接器错误。

答案 2 :(得分:3)

除了其他答案所说的之外:

接口可以指定最终功能并直接实现

interface Foo{
    int bar();

    final int doublefoobar(){
        return bar()*2;
    }
}