swift类、继承、接口


import Foundation

class 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

接口

protocol People{           //protocal 定义一个接口
func getName()->String //接口中申明一个方法,该方法返回一个字符串
} class Man:People { //实现该接口
func getName() -> String { //实现接口的类 必须实现接口中所有的方法
return "zhangsan"
}
} var m = Man()
println("Name is \(m.getName())")
上一篇:EF4.1之贪婪加载和延迟加载


下一篇:Entity Framework 4.1 : 贪婪加载和延迟加载