/**
父类的构造方法默认是不会被子类自动继承的。
*/
/**
(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)
总结以上是内存溢出为你收集整理的13.8 Swift构造方法的自动继承全部内容,希望文章能够帮你解决13.8 Swift构造方法的自动继承所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)