enum sexType {
case boy
case girl
}
class People: NSObject {
private var desc: String!
var lastName: String!
var firstName: String!
var sex: sexType!
var age: Int = 0 {
willSet {
print("将会设置\(newValue) 给 age")
}
didSet {
print("age从\(oldValue)变为\(age)")
guard age < 18 else {
desc = "中年人"
return
}
desc = "年轻人"
}
}
var fullName: String {
get {
return desc + " " + firstName + lastName
}
}
private override init() {}
convenience init(lastName: String, firstName: String, sex: sexType) {
self.init()
self.lastName = lastName
self.firstName = firstName
self.sex = sex
}
public func getName() -> String {
return fullName + " age:" + String(age)
}
}
let p = People(lastName: "qh", firstName: "h", sex: .boy)
p.age = 10
p.age = 19
print(p.getName())
将会设置10 给 age
age从0变为10
将会设置19 给 age
age从10变为19
中年人 hqh age:19