ios開發中的Swift面向對象
來自: http://www.cnblogs.com/jerehedu/p/5192981.html
iOS在現代計算機語言中,面向對象是非常重要的特性,Swift語言也提供了面向對象的支持。而且在Swift語言中,不僅類具有面向對象特性,結構體和枚舉也都具有面向對象特性。
1、Swift中的類和結構體
Swift中的類和結構體定義的語法也是非常相似的。我們可以使用class關鍵詞定義類,下面我們定義一個Person類,分別包含年齡和姓名屬性。
import UIKit class JRPerson: NSObject {}
我們發現現在類的定義和之前OC定義有了很大的不同,對于之前的.m文件和.h文件已經消失了,現在我們定義一個類只有一個文件.swift文件。
2 增加屬性
在這里我們定義屬性不需要設置set和get方法了如下所示:
//方式一 給默認值 var name:String=""; var age:Int!=0;//方式二 采用可選類型 var name:String!;
var age:Int!;</pre>
3 構造方法
Swift采用的構造方法跟java類似,我們可以通過重載構造方法來進行初始化,系統有一個默認的構造方法是沒有參數的,我們可以根據自己的需求分別重載構造方法。
//系統自帶構造方法 override init() { super.init(); }//重載構造方法,分別以兩個屬性作為參數 init(name :String,age:Int) { super.init();
self.name=name; self.age=age; }
//重載構造方法,用一個字典作為參數 init(dic :Dictionary<String,String>) { super.init(); self.name=dic["name"]; self.age=dic["age"]?.toInt();
}</pre>
4 對象初始化如下
//用默認的構造方法初始化 var per0=JRPerson();//用帶兩個參數的構造方法初始化 var per1=JRPerson(name: "zhangsan", age: 11); //用帶字典參數的構造方法初始化 var dic=["name":"zhangsan","age":"13"];
var per3=JRPerson(dic: dic); 5 對象的方法 /**
* 打印出當前人員的屬性 無參數,無返回值 */ func show(){ println("name=\(name) and age=\(age)"); }
/**
* 打印出當前人員的屬性 有參數,有返回值==》箭頭代表返回值的類型,我們此時的返回值為整形 */ func show2(num :Int,str :String,param :String) -> Int{ for (var i=0;i<num;i++){ println(str); } return 10; }</pre> <p><span lang="EN-US">6 類方法 </p>
類方法只需要在前面添加 class 即可如下
/*** 類方法 * * @return <#return value description#> */
class func show3(){
println("hello"); }</pre>7方法的調用
//用默認的構造方法初始化 var per0=JRPerson();//調用對象方法 per0.show(); //調用類方法 JRPerson.show3();</pre> <div>
作者:杰瑞教育
出處: http://www.cnblogs.com/jerehedu/
版權聲明:本文版權歸 煙 臺 杰瑞教育 科</div> </div> </div> </span></span>
本文由用戶 BrockJeffer 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!