상속(Inheritance)
구조체, 열거형과 달리 클래스가 가진 특징 중 하나는 다른 클래스에 자신의 속성, 매서드를 상속 시킬 수 있다는 점이다.
class Vehicle {
var numberOfWheels: Int
var maxPassengers: Int
func description() -> String {
return "\(numberOfWheels) wheels; up to \(maxPassengers) passengers"
}
init() {
numberOfWheels = 0
maxPassengers = 1
}
}
let myVehicle = Vehicle()
class Bicycle : Vehicle {
override init() {
super.init()
numberOfWheels = 2
}
}
let myBicycle = Bicycle()
class Tandem: Bicycle {
override init() {
super.init()
maxPassengers = 2
}
}
let myTandem = Tandem()
println("[myVehicle : \(myVehicle.description())") //-> "[myVehicle] : 0 wheels; up to 1 passengers"
println("[myBicycle : \(myBicycle.description())") //--> "[myBicycle] : 2 wheels; up to 1 passengers"
println("[myTandem : \(myTandem.description())") //--> "[myTandem] : 2 wheels; up to 2 passengers"
'Smart Device > Swift' 카테고리의 다른 글
Swift Initialization Optional (0) | 2015.06.23 |
---|---|
Swift Initialization Parameter (0) | 2015.06.23 |
Swift Property Observer (0) | 2015.06.09 |
Swift mutating (0) | 2015.06.09 |
Swift 함수 #10 Function Type (0) | 2015.06.02 |