1,首先來(lái)看看如何在Swift中定義一個(gè)類和類里面的屬性、構(gòu)造函數(shù)、方法及類方法
import Foundationclass Hello{ //成員屬性 var _name:NSString?="jikexueyuan" //構(gòu)造函數(shù) init(){ } //重載構(gòu)造函數(shù) init(name:NSString){ _name = name } //方法 func sayHello(){ PRintln("Hello /(_name)") } //類方法 class func sayHi(){ println("Hello Swift") }}var hello = Hello(name: "chen")hello.sayHello()Hello.sayHi()
2,在Swift中繼承是跟C#一樣使用冒號(hào)的形式來(lái)表示。一旦某個(gè)類繼承了它的父類,就同時(shí)有了父類的屬性和方法。在子類中可以重寫(xiě)父類的方法也可以調(diào)用父類的方法。
class Hi:Hello { //重寫(xiě)父類方法 override func sayHello() { super.sayHello()//調(diào)用父類方法 println("Hi /(_name)") }}var hi = Hi()hi.sayHello()
3,在程序編寫(xiě)的過(guò)程中有的時(shí)候我們會(huì)使用到第三方類庫(kù)或者使用系統(tǒng)的類庫(kù)的時(shí)候,發(fā)現(xiàn)這些類庫(kù)中某些類需要擴(kuò)展則可以使用extension關(guān)鍵詞來(lái)實(shí)現(xiàn)。若子類繼承帶有extension擴(kuò)展的父類,相應(yīng)的子類也應(yīng)該會(huì)有擴(kuò)展的方法。
//類的動(dòng)態(tài)擴(kuò)展extension Hi{ func sayHaha(){ println("Haha") }}hi.sayHaha()
4,在Swift中接口使用protocol關(guān)鍵字來(lái)定義
protocol Person{ func getName()->NSString}class Man: Person { func getName() -> NSString { return "jikexueyuan" }}var man = Man()var hiMan = Hi(name: man.getName())hiMan.sayHello()
5,由于多態(tài)的繼承特性,使得編碼中有了子類與父類的轉(zhuǎn)型,即向上轉(zhuǎn)型和向下轉(zhuǎn)型。有向上轉(zhuǎn)型是把一個(gè)子類的實(shí)例直接賦給一個(gè)父類的引用變量、不用任何的類型轉(zhuǎn)換。引用變量只能在編譯時(shí)才能轉(zhuǎn)換為實(shí)際的類型,這種強(qiáng)制轉(zhuǎn)換為向下轉(zhuǎn)型。
//向上轉(zhuǎn)型let obj : NSObject = "Hello"println(obj)//向下轉(zhuǎn)型let objStr : NSString = obj as! NSStringprintln(objStr)
6,在Swift中命名空間使用類的嵌套的方法去實(shí)現(xiàn),但是當(dāng)命名空間嵌套很復(fù)雜且命名空間里的類會(huì)非常多的時(shí)候會(huì)顯得很臃腫。這個(gè)時(shí)候可以在一個(gè)Swift文件中定義命名空間的嵌套,在另外一個(gè)Swift文件中使用extension關(guān)鍵字來(lái)擴(kuò)展命名空間,最后在使用到的文件中直接調(diào)用就可以了。
//---Space.swiftclass com{ class jikexueyuan{ }}//---Hello.swiftextension com.jikexueyuan{ class Hello { func sayHello(){ println("Hello") } }}//---Hi.swiftextension com.jikexueyuan{ class Hi { func sayHi(){ println("Hi") } }}//---Main.swiftvar spaceHello = com.jikexueyuan.Hello()spaceHello.sayHello()var spaceHi = com.jikexueyuan.Hi()spaceHi.sayHi()
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注