지정생성자와 편의생성자의 이해

쏘스야·2023년 4월 17일
0

ios 개발자의 첫걸음

목록 보기
58/61
/**
 지정생성자와 편의생성자의 이해
 */


class Aclass1 {
    var x: Int
    var y: Int
    
    init(x: Int, y: Int) {
        self.x = x
        self.y = y
    }
    
    convenience init() {
        self.init(x: 0, y: 0)
    }
    
    convenience init(x: Int) {
        self.init(x: x, y: 0)
    }
    
    convenience init(y: Int) {
        self.init(x: 0, y: y)
    }
    
}

class Bclass1: Aclass1 {
    
    var z: Int
    
    
    init(x: Int, y:Int, z:Int) {
        self.z = z
        super.init(x: x, y: y)
    }
    
//    override init(x: Int, y: Int) {
//        self.z = 0
//        super.init(x: x, y: y)
//    }
    
    convenience override init(x: Int, y: Int) {
        self.init(x: x, y: y, z: 0)
    }
    
    convenience init() {
        self.init(x: 0, y: 0, z: 0)
    }
    
    convenience init(z: Int) {
        self.init(x: z, y: 0, z: 0)
    }
}
profile
개발자

0개의 댓글