zoukankan      html  css  js  c++  java
  • 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/ 
    版权声明:本文版权归杰瑞教育技有限公司和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
    技术咨询:JRedu技术交流
     
  • 相关阅读:
    如何解决秒杀的性能问题和超卖的讨论
    Redis作者谈Redis应用场景
    Net开源工作流Roadflow的使用与集成
    VisualStudioOnline协同工作流程
    中文乱码?不,是 HTML 实体编码!(转)
    Nginx搭建反向代理服务器过程详解(转)
    2016年1月15日面试某互联网公司总结(转)
    浏览器缓存知识小结及应用(转)
    Gradle多项目配置的一个demo
    Android getResources的作用和须要注意点
  • 原文地址:https://www.cnblogs.com/jerehedu/p/5192981.html
Copyright © 2011-2022 走看看