- Swift 4 Programming Cookbook
- Keith Moon
- 200字
- 2021-07-08 10:21:25
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
推薦閱讀
- 高手是如何做產品設計的(全2冊)
- Java程序設計與實踐教程(第2版)
- Mastering LibGDX Game Development
- Silverlight魔幻銀燈
- Unity Game Development Scripting
- 深入淺出Serverless:技術原理與應用實踐
- D3.js 4.x Data Visualization(Third Edition)
- Java編程的邏輯
- Mastering openFrameworks:Creative Coding Demystified
- Java Web開發詳解
- RESTful Java Web Services(Second Edition)
- TMS320LF240x芯片原理、設計及應用
- Arduino Wearable Projects
- Android編程權威指南(第4版)
- Java面試一戰到底(基礎卷)