swift学习-构造器

2020-03-21  本文已影响0人  男人宫
init(parameters) {
    statements
}
convenience init(parameters) {
    statements
}

简单的使用例子

//类
class bb {
    var name: String
    var  age: Int
    //指定构造器(必须为所有非可选属性设置初始化值)
//    init()
//    {
//        name = "m小天"
//        age = 18
//    }
    init(ame: String, ge: Int) {
        self.name = ame
        self.age = ge
    }
    func canest() -> () {
        print("会吹牛皮")
    }
}

let b = bb(ame: "明海", ge: 45)
print(b.age)

class bbb: bb{
    //新的存储属性
    var waihao: String
    //新的指定构造器
     init(name: String, age: Int, waihao: String){
        self.waihao = waihao
        //如果继承的有父类,指定构造器必须自己的非可选属性赋值完之后再去调用父类的初始化器构造方法
        super.init(ame: name, ge: age);
        //如果药要设置父类某些有默认值的存储属性,则要在调用父类指定构造器之后才可以
 }
    //便利构造器
    convenience init(name: String, aage: Int)
    {
        //需要调用同类的其它构造器
        self.init(name:name, age:aage, waihao:"33")
    }
    //重写方法
    override func canest() {
        print("我会跳舞")
    }

}
let b3 = bbb(name: "哈哈", aage: 22)
print(b3.age)
b3.canest()
上一篇 下一篇

猜你喜欢

热点阅读