美文网首页
swift学习-构造器

swift学习-构造器

作者: 男人宫 | 来源:发表于2020-03-21 16:33 被阅读0次
  • 构造器
    类和结构体在创建实例时,必须为所有非可选属性设置合适的初始值,你可以再构造器中为存储属性设置初始值,也可以再定义属性时分配默认值.且为存储属性分配默认值或者在s构造器中设置初始值时,他们的值时被直接设置的,不会触发任何观察者属性(willSet 或didSet)
  • 指定构造器
    如果类中的存储属性都有默认值,,且没有实现任何指定构造器,这时swift会自定生成一个不带参数的默认构造器.一个类中至少有一个指定构造器.如果子类没有定义任何指定构造器,那么子类将继承所有父类的指定构造器
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()

相关文章

  • Swift学习:构造器(中)

    Swift之构造器(上)Swift之构造器(中)Swift之构造器(下) 本篇继续对Swift中的构造器进行介绍,...

  • Swift学习:构造器(下)

    Swift之构造器(上)Swift之构造器(中)Swift之构造器(下) 本篇主要介绍Swift中构造器的一些特殊...

  • Swift学习:构造器(上)

    Swift之构造器(上)Swift之构造器(中)Swift之构造器(下)Swift赋予自定义类型更加丰富的功能,一...

  • swift学习笔记

    1.swift类的构造器 swift构造器有三种:指定构造器和, 便利构造器, 默认构造器. 其中用'conve...

  • Swift学习—— initialization构造过程

    Swift学习—— initialization构造过程Swift学习—— initialization构造过程

  • swift学习-构造器

    构造器类和结构体在创建实例时,必须为所有非可选属性设置合适的初始值,你可以再构造器中为存储属性设置初始值,也可以再...

  • Swift类的构造过程

    Swift类的存储型属性必须在构造过程完成后有值,Swift为类提供了两种构造器——指定构造器、便利构造器 指定构...

  • Swift构造器

    推荐swiftGG的官方文档翻译《swift构造器》 swift类的构造分为两个阶段,第一个阶段是指定构造器初始化...

  • Swift5 构造函数知识点总结

    Swift 为类提供了两种构造器,分别是指定构造器和便利构造器。 指定构造器必须总是向上代理(重写、重载) 便利构...

  • Swift面向对象

    创建一个类 类的四种属性 类的构造 swift类构造过程 指定构造器 便利构造器 KVC构造器 实例方法和类方法 ...

网友评论

      本文标题:swift学习-构造器

      本文链接:https://www.haomeiwen.com/subject/dcfuyhtx.html