你的位置:首页 > 操作系统

[操作系统]swift类、继承、接口


import Foundationclass Hello{    var _name:String?="swift global"    init(name:String){          //定义类中有参数的构造方法    _name=name;    println("Hello , \(name)");  }    init(){                //定义类中无参数的构造方法    println("this is init method");  }    func sayHello(){            //定义成员方法    println("hello \(_name)")  }    class func meClass(){         //定义类方法    println("this is class method");  }  }class Hi:Hello{  override func sayHello() {     //继承Hello类,并重载 其成员方法    super.sayHello()        //调用父类的方法    println("hloo override \(_name)");  }}class HiChild:Hi{}           //继承Hi类extension Hi{              //动态扩展 Hi 类,增加一个成员方法, 继承了Hi 类的子类也可以调用这个方法  func sayHaha(){    println("HHHaaa");  }}var h1 = Hello()            //实例Hello类,调用无參的init方法 ,输出this is init method
var h2 = Hello(name:"Hello init")   //调用有参的init方法,输出:Hello , Hello init
var hi = Hi()    //实例化子类,会调用父类的无參构造方法,输出this is init method
hi.sayHello() //调用类的方法,输出hello Optional("swift global") 和 hloo override Optional("swift global")

var h3 = HiChild() //实例化,调用父类的父类的构造方法,输出this is init method

h3.sayHaha() //父类扩展了一个方法,则其子类可以调用这个方法,输出 HHHaaa
h3.sayHello() //调用父类的方法,输出hello Optional("swift global") 和 hloo override Optional("swift global")

Hello.meClass() //调用类方法,输出this is class method