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都是使用计数器来跟踪和管理内存,进行垃圾回收。