required
小于 1 分钟
required
required关键字可以在Swift中的初始化器前面使用。
子类有不同于父类的初始化方法时(参数类型和数量异于父类),子类必须要实现父类的required初始化方法,并且也要使用required修饰符而不是override。
当子类没有初始化方法时,可以不用实现父类的required初始化方法。
例一:
class Person {
func run(){
print("running")
}
// required func eat() {//required无法修饰方法,required修饰符只能用于修饰类初始化方法。
// print("eating")
// }
}
//继承
class Teacher: Person{
override func eat() {
super.eat()
print("eating sth.")
}
}
例二:
class DadClass {
init (a: Int) {
}
required init (b: Int) {
}
}
class SonClass: DadClass {
override init(a: Int) {
super.init(a: no3)
}
required init(b: Int) {
super.init(b: no4)
}
}