ios开发中的Swift面向对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios开发中的Swift面向对象相关的知识,希望对你有一定的参考价值。

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

以上是关于ios开发中的Swift面向对象的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段9——JS中的面向对象编程

iOS swift 中的错误域 = NSCocoaErrorDomain 代码 = 3840?

如何使用 Swift 使用此代码片段为 iOS 应用程序初始化 SDK?

iOS-Swift 面向协议编程/组件化(模块化)编程思想

iOS Swift 中的 Android 片段模拟

Swift-iOS中类和结构体