Swift-必须由子类覆盖的类方法

是否有一种标准方法可以在Swift中制作“纯虚函数”,即。一个 由每个子类中被覆盖,并且,如果不是的话,将导致编译时错误?

回答:

您有两种选择:

1.使用协议

将超类定义为协议而不是类

:编译时检查每个“子类”(不是实际的子类)是否实现了所需的方法

:“超类”(协议)无法实现方法或属性

2.声明该方法的超级版本

例:

class SuperClass {

func someFunc() {

fatalError("Must Override")

}

}

class Subclass : SuperClass {

override func someFunc() {

}

}

:可以在超类中实现方法和属性

:不检查编译时间

以上是 Swift-必须由子类覆盖的类方法 的全部内容, 来源链接: utcz.com/qa/424443.html

回到顶部