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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!