• swift基础:第六部分:类与对象


    http://reactnative.cn/docs/0.24/getting-started.html#content(react Native 开发文档)

            互联网这个时代,你松懈一天,就会有很多很多的新的技术和新的领域崭露头角,一时之间,就感觉自己的技术快要被淘汰掉,说实话,心急火燎的,本来我想在iOS开发技术日渐成熟到熟练的时候去学习html5,而现实却是那般残酷,facebook开源react Native,据说可以跨平台开发,iOS已经全面支持,只有安卓会在十月份达到全面支持。如此看来,学习react Native已形成刻不容缓之势。加快进度吧,把swift基础的最后一部分学习完,好,进入正题吧。

         1.类和对象

    class Person {
        //属性
        var name:String = "zhangsan"
        var age : Int?
        //初始化方法
        init (name:String,age:Int) {
            self.name = name
            self.age  = age
             }
        //方法
      func printName(){
         print(self.age!)
                               }
       //析化器,相当于oc中的dealloc方法
     deinit
            {
         
            }  
    }
    
    //创建对象
    Person (name: "lisi",age: 34)
    
    let per = Person(name: "wangwu",age: 24)
    
    per.printName()

    2.结构体,说到结构体,在oc中的结构体和类有些相似,但是也有很大的区别,那么在swift中结构体和类有哪些相似点和不同点呢

    先看一个结构体

    struct car {
        var carNumber:Int?
        var carType:String?
        
        init(carNumber:Int, carType:String)
        {
        self.carNumber = carNumber
        self.carType = carType
        }
    }
    /*  类与结构体的区别
    
    *相同点:  1.都包含属性和方法,swift的结构体和c的结构体有很大区别
              2.都包含构造器方法
    *不同点:  1.类可以被继承,结构体不能
              2.类包含析构器结构体却没有
    
    */

    3.我们再来写一个完整的类,加强练习吧

    class Student {
        var name:String?
        var age: Int?
        var sex: String?
        var studentId: Int?
        
        init(name:String, age:Int, sex:String, studentId:Int)
        {
            self.name = name
            self.age = age
            self.sex = sex
            self.studentId = studentId
        }
    
        func printInfo() {
            print("my name is (self.name!),age is (self.age!),sex is (self.sex!),student id is (self.studentId!)")
        }
        
        deinit
        {
        }   
    }
    let stu = Student(name: "zhangsan",age: 23,sex: "", studentId: 20110302010321)
    stu.printInfo()

    4.重写父类的初始化方法,须使用override关键字

    //重写父类方法
    class student: Student {
        var score:Float?
        override init(name: String, age: Int, sex: String, studentId: Int) {
            super.init(name: name, age: age, sex: sex, studentId: studentId)
        }
    }

    5.类方法

    //重写父类方法
    class student: Student {
        var score:Float?
        override init(name: String, age: Int, sex: String, studentId: Int) {
            super.init(name: name, age: age, sex: sex, studentId: studentId)
        }
    //类方法
        class func printMethod(name:String)
        {
        print(name)
        }
    }

    6.协议的基本形式是 : protocol协议名{ }

    protocol protorolDelegate {
        func change(name:String, age:Int) -> String
    }

    7.继承关系 

    class teacher: Person,personDelegate {
        func change() -> String {
            return "name"
        }    
    }

    swift的基础语法部分就简单涉猎到这儿,下一节我们学习,swift的UI部分。

  • 相关阅读:
    Git基操
    阿里云Centos7安装mysql5.7
    Centos安装jdk8
    BD-rate/BD-BitRate/BDBR/BD-PSNR
    应用统计作业(1)——概率统计知识求解以定积分的近似值
    标量对向量、标量对矩阵、向量对向量、矩阵对矩阵的求导和微分计算
    JM8.6(H.264编码器)源码注释——码率控制部分主要推导
    二、全国大学生电子设计竞赛测控(无人机)方向___赛题分析
    C#-WebForm-Request、Response、QueryString
    webform 页面传值的方法总结
  • 原文地址:https://www.cnblogs.com/XYG-blog/p/5439038.html
Copyright © 2020-2023  润新知