当As3遇见Swift(三)

As3

Swift中似乎没有包,包路径的概念。因而显得简洁的多。

package

{

         public class ShuaiGe

         {

        



         }

}

 

Swift类

class ShuaiGe{



}

 

类的构造

As3有构造函数,Swift有构造器,不同的是Swift可以有多个同名但是不同参数的构造器

As3

class ShuaiGe

{

         function ShuaiGe(){}//构造函数

}

Swift

class ShuaiGe{

         init(){}  //构造器

         init(name:String){}  //构造器

        init(age:Int){}  //构造器

}

 

类的析构

析构函数在实例被销毁前调用。As3无,Swift有

Swift

deinit{

         // 执行析构过程

}

类的继承

As3使用关键字extends Swift使用冒号

As3

package

{

    public class Eko extends Shuaige

    {



    }

}

Swift

class Eko:ShuaiGe{

 

}

 

类的属性

关于类的属性,Swift就比As3精彩的多了例如@lazy延迟存储,属性监视器willSet在设置新值之前调用。didSet在新值设置之后调用。

类的静态属性

As3使用关键字static

Swift类使用class关键字,结构体和枚举使用static关键字

 

类属性的覆盖

都使用override关键字,能够对方法和属性进行覆盖。

Swift使用@final能够防止覆盖例如

@final var, @final func, @final class func 以及 @final sunscript

 

As3

使用final关键字在class前或者后表示不能继承。使用 private关键字能表示属性或方法私有而不能被覆盖

 

类的实例本身

As3 使用this关键字,Swfit使用self关键字。

 

自动引用计数器

As3和Swift都是使用计数器来跟踪和管理内存,进行垃圾回收。

你可能感兴趣的:(swift)