protocol ProtocolA {
var name: String { get }
}
extension ProtocolA {
var name: String { "Allen" }
}
class ClassA: ProtocolA {
func logName() {
print(name)
}
}
class ClassB: ClassA {
var name: String {
"Bob"
}
}
ClassA().logName()// "Allen"
ClassB().logName()// "Allen", why is it not "Bob"
如何命名为“Bob”?超类是否必须实现名称?
class ClassB: ClassA {
override var name: String {
"Bob"
}
override func logName() {
print(name)
}
}