aa:初始化方法(init())
1、类初始化对象时所调用的方法
2、一些注意点:
(1)方法固定名为init,没有返回值,方法名init前面也不需要加func
(2)在创建对象之后,如果要使用对象的属性之前,必须对属性初始化
(3)声明一个变量,必须赋初始值,除非这个变量是强制解包可选,或者在初始化方法赋初始值,也可达到同样的效果
(4)初始化方法可以多个存在,并且每一个的方法名都是init,但是参数要不同。对于方法参数不同,不仅仅通过参数类型来判断,还涉及参数的名称,这个在其他语言中称为:方法的重载(参数名或者参数别名不同)
bb:反初始化方法(deinit())
2、注意点
当要关闭链接的时候,要把对象设置为nil,不然反初始化方法不会被调用
3、暂时没找到比较好的例子可以说明,后面会介绍。
class Employee {
var no : Int
var name : String
var job : String
var salary : Double
var dept : Department?
init(no : Int, name: String, job : String, salary : Double) {
self.no = no
self.name = name
self.job = job
self.salary = salary
print("员工\(name) 已经构造成功。")
}
deinit {
print("员工\(name) 已经析构成功。")
}
}