一蓑烟雨任平生(溪)

导航

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部分。

posted on 2016-04-27 15:24  一蓑烟雨任平生2017  阅读(151)  评论(0编辑  收藏  举报