swift3.0 构造器、析构方法(3)

1.Hello Word

2.基础语法

3.构造器、析构方法

4.扩展、协议

 

构造和析构是两种特殊的方法,在对象进行初始化的时候 使用构造,在对象的释放操作中,使用析构。

构造器的定义:

init (){
     //代码  
}
init(name:String){
    //代码
}

在构造器中可以调用其它的构造器进行操作:

init (){
     //代码  
}
init(name:String){
    self.init()
    //代码
}

在类或结构初始化时,首先执行的是我们在初始化调用的相应构造函数。

构造函数可以使用构造代理方式,使用关键字convenience,这种方式叫做便利构造器。

使用关键字required修饰的构造器被称为必要构造器,作用是,约束所有的继承子类重写该构造器。

在构造器 init后面添加“?”,则该构造器可以接受错误的参数而不会报错,允许在调用构造参数时出现错误,这种方式叫做可失败构造器。

构造器的继承:

1.在类的继承中,构造器是可以被子类进行继承的,如子类中存在构造器,则父类中的构造器将被覆盖,无法调用。

2.在父类中定义便利构造器,子类中也存在不同结构的便利构造器,则子类可以调用父类的便利构造器和自身的便利构造器。

3.在父类中定义便利构造器,子类中没有便利构造器,无法调用。

必要构造器:

class A {
     required init(name:String){
        //代码
    }  
}

class B:A{
    //必须重写 否则报错
    required init(name:String){
        //代码
    }
}

 析构方法:析构方法为在类对象释放时隐式调用的方法,与构造器类似,区别是使用deinit为方法名称,而单个类对象中只允许有一个无参析构方法,用来释放对象,回收资源,以及做一些业务逻辑操作。

posted @ 2016-08-28 22:25  枫之戊  阅读(228)  评论(0编辑  收藏  举报