微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Swift继承

//声明一个基类

class vehicle {

var maxPassenger : Int = 0

var manufacturer : String!

func description() -> String {

return "max passenger is \(maxPassenger) and manufacturer is \(manufacturer)"

}

init () {

maxPassenger = 2

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 : \(numberofWheels) maxSpeed : \(maxSpeed)"

}

}



class LimitSpeedBicycle: Bicycle {

var maxSpeed : Double {

get {

return super.maxSpeed

}

set {

super.maxSpeed = min(maxSpeed,20)

}

}

}

var bicycle = Bicycle()

println(bicycle.description())


var limit = LimitSpeedBicycle()

limit.maxSpeed = 30

println(limit.maxSpeed)



class SpeedLevel: var level = 1

Double{

didSet{

level = Int(maxSpeed / 10) + 1

}

}

String {

super.description() + " level is \(level)"

}

}

var aBicycle = SpeedLevel()

aBicycle.maxSpeed = 40

println(aBicycle.description())

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐