你的位置:首页 > 操作系统

[操作系统]ios开发中的Swift面向对象


  iOS在现代计算机语言中,面向对象是非常重要的特性,Swift语言也提供了面向对象的支持。而且在Swift语言中,不仅类具有面向对象特性,结构体和枚举也都具有面向对象特性

 

  1、Swift中的类和结构体

  Swift中的类和结构体定义的语法也是非常相似的。我们可以使用class关键词定义类,下面我们定义一个Person类,分别包含年龄和姓名属性。

import UIKitclass 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/ 
版权声明:本文版权归烟台杰瑞教育科技有限公司和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
技术咨询:JRedu技术交流