iOS在現代電腦語言中,面向對象是非常重要的特性,Swift語言也提供了面向對象的支持。而且在Swift語言中,不僅類具有面向對象特性,結構體和枚舉也都具有面向對象特性。 1、Swift中的類和結構體 Swift中的類和結構體定義的語法也是非常相似的。我們可以使用class關鍵詞定義類,下麵我們定
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!;
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(); }
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; }
6 類方法
類方法只需要在前面添加class即可如下
/** * 類方法 * * @return <#return value description#> */ class func show3(){ println("hello"); }
7方法的調用
//用預設的構造方法初始化 var per0=JRPerson(); //調用對象方法 per0.show(); //調用類方法 JRPerson.show3();
作者:傑瑞教育
出處:http://www.cnblogs.com/jerehedu/
版權聲明:本文版權歸煙台傑瑞教育科技有限公司和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
技術咨詢: