/*继承*/class MacBook{ var price:Double var color:String init(price:Double,color:String){ self.price=price self.color=color }}class MacBookAir : MacBook{ var weight:Double init(weight:Double){ //必须初始化子类的所有属性 self.weight=weight //在构造函数的结尾必须调用super.init调用父类的构造方法 super.init(price: 12,color:"red") }}//不能调用父类的构造函数var oneMacBookAir=MacBookAir(weight: 12.4)子类重写父类的构造函数
/*继承*/class MacBook{ var price:Double var color:String init(price:Double,color:String){ self.price=price self.color=color //在子类初始化的时候,这句话必定被调用 print("这是父类的构造函数") }}class MacBookAir : MacBook{ var weight:Double? init(weight:Double){ //必须初始化子类的所有属性 self.weight=weight //在构造函数的结尾必须调用super.init调用父类的构造方法 super.init(price: 12,color:"red") } overrIDe init(price: Double,color: String) { print("父类的构造函数已被重写") self.weight=nil //即使重写了父类的构造函数仍然需要在构造函数的结尾调用super .init super.init(price: price,color: color) } func toString(){ print("价格为:\(price),颜色为:\(color),重量为:\(weight)") }}var twoMacBookAir=MacBookAir(price: 13,color: "white")twoMacBookAir.toString()//价格为:13.0,颜色为:white,重量为:nil总结
以上是内存溢出为你收集整理的从零开始自学Swift(八)全部内容,希望文章能够帮你解决从零开始自学Swift(八)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)