//声明一个基类
class vehicle {
var maxPassenger : Int = 0
var manufacturer : String!
func description() -> String {
return "max passenger is \(@H_502_39@maxPassenger) and manufacturer is \(@H_502_39@manufacturer)"
}
init () {
maxPassenger = 2
@H_502_39@manufacturer = "Designed By Weasley"
}
}
//声明子类
class Bicycle : vehicle {
var numberofWheels : 2
var maxSpeed : Double = 30
override init() {
super.init()
2
}
override func description() -> String {
//return "numberofWheels : \(numberofWheels) maxPassenger : \(maxPassenger) with maxSpeed : \(maxSpeed) manufacturer is \(manufacturer)"
return super.description() + ";" + "numberofWheels : \(@H_502_39@numberofWheels) maxSpeed : \(@H_502_39@maxSpeed)"
}
}
class LimitSpeedBicycle: Bicycle {
var maxSpeed : Double {
get {
return super.@H_502_39@maxSpeed
}
set {
super.@H_502_39@maxSpeed = min(@H_502_39@maxSpeed,20)
}
}
}
var bicycle = @H_502_39@Bicycle()
println(@H_502_39@bicycle.description())
var limit = LimitSpeedBicycle()
limit.maxSpeed = 30
println(limit.maxSpeed)
class SpeedLevel: var level = 1
Double{
didSet{
@H_502_39@level = Int(@H_502_39@maxSpeed / 10) + 1
}
}
String {
super.description() + " level is \(@H_502_39@level)"
}
}
var aBicycle = @H_502_39@SpeedLevel()
aBicycle.maxSpeed = 40
println(@H_502_39@aBicycle.description())