同じ機能を必要とする2つの同様のクラスがある場合。関数をグローバルに記述するか、各クラスの内部に同じ関数を2回書く方が良いでしょうか。 Ex。グローバル関数または多くのインスタンス関数
オプション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 2つのインスタンス機能:1つのグローバル関数
class A {
func buttonTapped() {
upvote(id)
}
}
class B {
func buttonTapped() {
upvote(id)
}
}
func upvote(postID:string) {
// upvote the post
}
またはより良いオプションがありますか?
ありがとう、これは興味深いです。 'getVotes()'メソッドを使用するのと比べて、getだけで投票を定義する利点は何ですか? –
これは構造体上のクラスであるという利点もありますか? –
「利点」はありませんが、意味的に 'votes'はプロパティではなく、関数でなければなりません。関数は、何らかの操作(例えば、上向きの投票)を意味するので、ゲッター関数を使うことができますが、プロパティを使う方がいいです。私は答えを更新したので、読み込み専用のプロパティを作成するより良い方法を見つけたことに注意してください。 – Paulw11