代码:
import Foundation
class Food {
var meat:String {
return "pork"
}
class var str: String {
return "Str"
}
}
class Dinner: Food {
//override 属性
override var meat: String {
return "Beef"
}
//override 类型属性
override class var str:String {
return "MyStr"
}
}
let Tomsdinner = Dinner()
//实例属性
print(Tomsdinner.meat)
//类属性 类属性和Static类方法可以直接使用,无须实例化,但是static是不可以被重写的
print(Dinner.str)
//******可以为继承来的属性设置属性监测器
class Car {
var speed: Double = 0.0
}
class AutoCar: Car {
var gear: Int = 1
override var speed:Double {
didSet {
gear = Int(speed)
print(gear)
}
}
}
let myauto = AutoCar()
myauto.speed = 20
myauto.speed = 40
myauto.speed = 100
输出:
Beef
MyStr
20
40
100
Program ended with exit code: 0