Swift 2 学习笔记 12.类

2018-11-21  本文已影响0人  Maserati丶

课程来自慕课网liuyubobobo老师


class Person {
    var firstName: String
    var lastName: String
    
    init(firstName: String, lastName: String) {
        self.firstName = firstName
        self.lastName = lastName
    }
    
    init?(fullName: String) {
        if let spaceIndex = fullName.index(of: " ") {
            self.firstName = String(fullName[..<spaceIndex])
            self.lastName = String(fullName[fullName.index(after: spaceIndex)..<fullName.endIndex])
        }else {
            return nil
        }
    }
    
    func fullName() -> String {
        return self.firstName + " " + self.lastName
    }
}

let person1 = Person(firstName: "Alexander", lastName: "Hamilton")
person1.fullName()  // Alexander Hamilton
let person2 = Person(fullName: "Alexander Hamilton")
class Person {
    var firstName: String
    var lastName: String
    var career: String?
    
    init(firstName: String, lastName: String, career: String) {
        self.firstName = firstName
        self.lastName = lastName
        self.career = career
    }
    
    init(firstName: String, lastName: String) {
        self.firstName = firstName
        self.lastName = lastName
    }
    
    func fullName() -> String {
        return self.firstName + " " + self.lastName
    }
}

let person1 = Person(firstName: "Yubo", lastName: "Liu", career: "Developer")

let person2 = person1
person2.career = "CEO"
person1.career  // "CEO"
值类型
引用类型
class Person {
    var firstName: String
    var lastName: String
    var career: String?
    
    init(firstName: String, lastName: String, career: String) {
        self.firstName = firstName
        self.lastName = lastName
        self.career = career
    }
    
    init(firstName: String, lastName: String) {
        self.firstName = firstName
        self.lastName = lastName
    }
    
    func fullName() -> String {
        return self.firstName + " " + self.lastName
    }
    
    func changeCareer(newCareer: String) {
        self.career = newCareer
    }
}

let person = Person(firstName: "Yubo", lastName: "Liu", career: "Developer")
person.changeCareer(newCareer: "CEO")
let person1 = Person(firstName: "Yubo", lastName: "Liu", career: "Developer")
let person2 = person1

person1 === person2  // true
let person3 = Person(firstName: "Yubo", lastName: "Liu", career: "Developer")
person1 === person3  // false
person1 !== person3  //  true
上一篇 下一篇

猜你喜欢

热点阅读