13.8 Swift构造方法的自动继承
/** 父类的构造方法默认是不会被子类自动继承的。 */
/** (8)13.8-构造方法的自动继承.mp4 a 如果子类中没有任何定义的构造方法,且子类中所有的存储属性都有默认缺省值,会自动继承父类中 所有的构造方法(包括便利构造方法) b 如果子类中只是重写了父类中的某些(而不是全部)指定构造方法,不管子类中的存储属性是否 有缺省值,都不会继承父类中的其他构造方法。 c 如果子类中重写了父类中所有的指定构造方法,不管子类中的存储属性是否有缺省值,都同时 会继承父类中所有的便利构造方法。 */
class XY { var x: Int var y: Int
init(x: Int,y: Int) { self.x = x self.y = y }
init(x: Int) { self.x = x self.y = 0 }
convenience init() { self.init(x: 0,y: 0) }
}
class XYZ: XY { var z: Int = 0
}
var t0 = XYZ() var t1 = XYZ.init(x: 0) var t2 = XYZ.init(x: 0,y: 0) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |