1. ホーム
  2. inheritance

[解決済み] Swift言語における抽象関数

2022-05-28 18:42:33

質問

swift言語で抽象的な関数を作りたいのですが、可能でしょうか?可能でしょうか?

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

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

どのように解決するのですか?

Swiftには(Objective-Cのような)抽象的な概念はありませんが、このようにすることができます。

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

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