0
クラスのインスタンスを作成してクラスを作成することは、コードの重複を避けるために行うべきことです。それが最もスマートなアプローチですか?スウィフトクラス基本的なD.R.Yの原理
enum Condition {
case poor
case fair
case excellent
}
class Shoe {
var color: Condition
var laces: Condition
init(color: Condition, laces: Condition) {
self.color = color
self.laces = laces
}
}
class Nikeone: Shoe {
var texture: Condition
var sole: Condition
init(color: Condition, laces: Condition, texture: Condition, sole: Condition) {
self.texture = texture
self.sole = sole
super.init(color: color, laces: laces)
}
}
class NikeTwo: Shoe {
var texture: Condition
var sole: Condition
init(color: Condition, laces: Condition, texture: Condition, sole: Condition) {
self.texture = texture
self.sole = sole
super.init(color: color, laces: laces)
}
}
class NikeThree: Shoe {
var texture: Condition
var sole: Condition
init(color: Condition, laces: Condition, texture: Condition, sole: Condition) {
self.texture = texture
self.sole = sole
super.init(color: color, laces: laces)
}
}
ナイキと呼ばれるクラスを持つクラスのインスタンスを作成するには、私はコードの重複を避けるためにやるべきだと思うものです。それが最もスマートなアプローチですか?
はい。 Nikeクラスを作成し、Nikeone、NikeTwo、NikeThreeを削除します。あなたはおそらくあなたのプログラムのどこかにnikeOne、nikeTwo、NikeThreeのインスタンスを作成します。あなたのNikeクラスは、ここにある3つのクラスとまったく同じように見えます(3つのクラスをすべて置き換えます)。 – Mozahler