一尘不染

Swift语言中的抽象函数

swift

我想用一种快速的语言创建一个抽象函数。可能吗?

class BaseClass {
    func abstractFunction() {
        // How do I force this function to be overridden?
    }
}

class SubClass : BaseClass {
    override func abstractFunction() {
        // Override
    }
}

阅读 618

收藏
2020-07-07

共1个答案

一尘不染

Swift中没有抽象的概念(例如Objective-C),但是您可以这样做:

class BaseClass {
    func abstractFunction() {
        preconditionFailure("This method must be overridden") 
    } 
}

class SubClass : BaseClass {
     override func abstractFunction() {
         // Override
     } 
}
2020-07-07