| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
BrockJeffer
9年前发布

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!;

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/

版权声明:本文版权归 烟 台 杰瑞教育

 

</div> </div> </span></span>

 本文由用户 BrockJeffer 自行上传分享,仅供网友学习交流。所有权归原作者,若您的权利被侵害,请联系管理员。
 转载本站原创文章,请注明出处,并保留原始链接、图片水印。
 本站是一个以用户分享为主的开源技术平台,欢迎各类分享!