如果有兩個類似的類需要相同的函數。全局編寫函數還是在每個類中寫入相同的函數兩次更好?防爆。1全局函數或許多實例函數
選項1:兩個實例函數
class A {
func buttonTapped() {
upvote(id)
}
func upvote(postID:String) {
// upvote the post
}
}
class B {
func buttonTapped() {
upvote(id)
}
func upvote(postID:String) {
// upvote the post
}
}
選項2:一個全局函數
class A {
func buttonTapped() {
upvote(id)
}
}
class B {
func buttonTapped() {
upvote(id)
}
}
func upvote(postID:string) {
// upvote the post
}
還是有更好的選擇?
謝謝,這很有趣。將票定義爲只有getVotes()方法而獲得的優勢是什麼? –
還有一個優點,這是一個類的結構? –
沒有'優勢',但語義'投票'應該是一個屬性,而不是一個函數。函數意味着某種操作(如投票),所以雖然可以使用getter函數,但使用屬性更好。請注意,我只是發現了創建只讀屬性的更好方法,因此我更新了答案。 – Paulw11