zoukankan      html  css  js  c++  java
  • 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部分。

  • 相关阅读:
    Python循环语句
    Python基本数据类型
    Python条件句句
    Python基础
    jmeter用户自定义变量和CSV可变参数压测、和多参数的使用
    App资源在线升级更新
    javaweb项目启动报错org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/cab-web]]
    mui移动端日期选择器的使用
    java把json字符串转成实体
    MUI集成个推实现消息推送
  • 原文地址:https://www.cnblogs.com/XYG-blog/p/5439038.html
Copyright © 2011-2022 走看看