首页 文章

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

提问于
浏览
5

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

我找到了this page,但它似乎是古代D1的遗留物 .

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

3 回答

  • 4

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

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

  • 11

    来自Virtual Functions

    标记为final的函数不能在派生类中重写,除非它们也是私有的 .

  • 3

    除了其他答案所说的:

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

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

相关问题