从零开始自学Swift(八)

从零开始自学Swift(八),第1张

概述继承情况下子类的构造函数 /*继承*/class MacBook{ var price:Double var color:String init(price:Double,color:String){ self.price=price self.color=color }}class MacBookAir : MacBook{ 继承情况下子类的构造函数
/*继承*/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(八)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1084521.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存