美文网首页
Swift - 构造函数

Swift - 构造函数

作者: 汪小喵 | 来源:发表于2017-01-12 15:39 被阅读145次

构造函数是一种特殊的函数,主要用来在创建兑现是初始化对象,为对象的属性设置初始值也就是OC中的init方法。
1.构造函数基础
Swift中的构造函数是用来对类型实例化的,它可以再实例化过程中给所有的存储型属性设置初始值,为程序提供必要的准备并执行初始化任务。下面是示例代码:

class Person: NSObject {
    var name:String
    var age:Int
    
    override init() {
        name = "汪小喵"
        age = 18
        super.init()
    }
}

let person = Person()
print(person.name)

在这里,我们看到Swift和OC不同的地方是,在OC中我们需要先对父类进行初始化,而在这里,我们先对自己初始化,再初始化父类。

2.重载构造函数
在一个类中可以定义多个构造函数,以便提供不公初始化的方法,供用户选用。这些构造函数具有相同的名字,而参数的个数、名称或类型不相同,这称为构造函数的重载。

class Person: NSObject {
    var name:String
    var age:Int
    
    init(name:String,age:Int){
        self.name = name
        self.age = age
        super.init()
    }
}

let person = Person(name: "汪小喵", age: 20)
print(person.name)

如果重写了构造函数,系统默认提供的构造函数就不能再被访问

3.指定构造函数与便利构造函数
指定构造函数是类中最主要的构造函数。一个指定构造函数将初始化类中提供的所有属性,并根据继承链往上调用父类的构造函数来实现父类的初始化。

init(参数) {
    // 声明
}

便利构造函数是类中比较次要的、辅助性的构造函数。可以定义便利构造函数来调用同一个类中的指定构造函数,并为其参数提供默认值,也可以定义便利构造器来创建一个特殊用途或特定输入值的实例。

convenience init (参数) {
    // 声明
}
class Person {
    var name:String
    init(name:String) {   // 指定构造函数
        self.name = name
    }
    convenience init() {  // 便利构造函数
        self.init(name: "汪小喵")
    }
}
let person1 = Person()
let person2 = Person(name: "喵喵")
print(person1.name, person2.name)

相关文章

  • Swift构造函数和便利构造函数

    [转]Swift构造函数和便利构造函数 构造函数基础 构造函数是一种特殊的函数,主要用来在创建对象时初始化对象,为...

  • 2018-01-23

    谈swift init构造函数一些心得 1、swift类Class的构造函数目的:为了给类的stored(存储)属...

  • KVC 字典转模型构造函数

    swift /// `重写`构造函数 /// /// - parameter dict: 字典 /// /// -...

  • Xcode 实用小技巧

    1 class成员构造函数生成 Swift 可以为 struct 合成成员构造函数,但不能为 class 合成。X...

  • Swift—构造函数

    '' class Person: NSObject { '' // 定义 "对象"属性可以使用?'' va...

  • swift 构造函数

    1. 便利构造函数 *** 概念***

  • Swift - 构造函数

    构造函数是一种特殊的函数,主要用来在创建兑现是初始化对象,为对象的属性设置初始值也就是OC中的init方法。1.构...

  • 类的构造和析构

    默认构造函数 当类的所有属性都预先设置了值,并且没有自己定义任何构造函数,swift会为我们默认创造一个构造函数 ...

  • swift构造函数的继承和重写

    一、构造函数的调用规则 swift规定了三条规则来限制构造函数之间的调用。 1、指定构造函数必须最终调用其直接父类...

  • Swift之构造函数(重写构造函数)

    构造函数的基础 构造函数是一种特殊的函数 主要用来在创建对象时初始化对象 为对象成员变量设置初始值 在OC中的构造...

网友评论

      本文标题:Swift - 构造函数

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