使用以下代码:
spray
控制台打印“flap-flap”,这是预期的。
如果我在子类中声明相同的函数而不是在超类中声明它,为什么控制台会打印“flap”?
protocol Flier {
func fly()
}
extension Flier {
func fly() { print ("flap")}
}
class Bird: Flier {
func fly() { print("flap-flap") }
}
class SmallBird: Bird {
}
let bird: Flier = SmallBird()
bird.fly()