官术网_书友最值得收藏!

How to do it...

Let's start by entering the following code into the playground:

class Person { 

let givenName: String
let middleName: String
let familyName: String
var countryOfResidence: String = "UK"

init(givenName: String, middleName: String, familyName: String) {
self.givenName = givenName
self.middleName = middleName
self.familyName = familyName
}

var displayString: String {
return "\(fullName()) - Location: \(countryOfResidence)"
}

func fullName() -> String {
return "\(givenName) \(middleName) \(familyName)"
}
}

final class Friend: Person {
var whereWeMet: String?

override var displayString: String {
return "\(super.displayString) - \(whereWeMet ?? "Don't know where we met")"
}
}

final class Family: Person {
let relationship: String

init(givenName: String, middleName: String, familyName: String = "Moon",
relationship: String) {
self.relationship = relationship
super.init(givenName: givenName, middleName: middleName, familyName:
familyName)
}

override var displayString: String {
return "\(super.displayString) - \(relationship)"
}
}

let steve = Person(givenName: "Steven", middleName: "Paul", familyName: "Jobs")
let dan = Friend(givenName: "Daniel", middleName: "James", familyName: "Woodel")
dan.whereWeMet = "Worked together at BBC News"
let finnley = Family(givenName: "Finnley", middleName: "David", relationship: "Son")
let dave = Family(givenName: "Dave", middleName: "deRidder", familyName: "Jones", relationship: "Father-In-Law")
dave.countryOfResidence = "US"

print(steve.displayString) // Steven Paul Jobs
print(dan.displayString) // Daniel James Woodel - Worked together at BBC News
print(finnley.displayString) // Finnley David Moon - Son
主站蜘蛛池模板: 泸西县| 肥城市| 鸡西市| 娱乐| 买车| 纳雍县| 铜鼓县| 高淳县| 额敏县| 宜良县| 金阳县| 会昌县| 博湖县| 惠东县| 繁峙县| 雅江县| 阿鲁科尔沁旗| 虹口区| 儋州市| 叶城县| 寿阳县| 高安市| 伊川县| 广元市| 亚东县| 龙川县| 昌都县| 云和县| 宁都县| 宝山区| 离岛区| 长宁县| 叙永县| 井研县| 垦利县| 镇江市| 平泉县| 乐都县| 崇阳县| 淮南市| 阿图什市|