swift - 类的初始化

声明一个类,并初始化

1.使用赋值的方式初始化类的成员
class person{
    var name : String = "lily"
}
let me : person = person()
2.使用构造函数初始化类的成员
class person{
    var name : String
    init(personName : String)
    {
        self.name = personName
    }
}
let me : person = person(personName : "lily")
3.不初始化成员
class person{
    var name : String?
}
let me : person = person()
me.name = "lily"

对于optional?成员,可以不初始化。
不初始化则默认初始化为nil。

4.convenience构造函数
class person{
    var name : String
    var age : Int
    init(personName : String, personAge : Int){
        self.name = personName
        self.age = personAge
    }
    convenience init(personName : String)
    {
        self.init(personName : personName, personAge : 0)
    }
}

let a : person = person(personName : "lily", personAge : 15)
let b : person = person(personName : "lucy")

convenience的构造函数必须调用self.init函数

继承一个类,并初始化

没有成员需要初始化

父类相对于子类没有增加成员,不需要初始化

class person
{
    var name : String = "lily"
}
class student : person
{
}
var me : student = student()
子类初始化时用到父类的成员

使用super.父类函数()来调用父类成员

class person
{
    var name : String
    init(personName : String)
    {
        self.name = personName
    }
}
class student : person
{
    init()
    {
        super.init(personName: "lily")
    }
}
var me : student = student()
区分父类与子类

super.父类函数() self.子类函数()