紅茶やコーヒーのような様々な飲み物を調達する自動販売機を設計する必要があります。コンクリートクラスの複数のインスタンスと抽象クラスの複数の実装の比較
私はデザインがほとんど完成していますが、私が取ることができないこの1つの決定があります。
ドリンクのクラスについて
具体的にはDrink
クラスを特定の属性に設定する必要があります。すべての飲み物について、新しいインスタンスを作成し、それに応じて属性を設定します。
例: -
Drink tea = new Drink();
Drink coffee = new Drink();
または別のアプローチは、私は、抽象ドリンククラスを作ることをすることができます。
abstract class Drink{ }
と
class Tea extends Drink{ }
class Coffee extends Drink { }
のようにお茶やコーヒーを作る両方のアプローチの長所と短所は何ですか?