본문 바로가기
Smart Device/Swift

Swift 상속(Inheritance)

by 언덕너머에 2015. 6. 22.

상속(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