Food クラスの派生クラスを修正、ListDetail クラスを作成して、ショッピングカートに入れた商品の一覧が実行結果のように表示されるようにしなさい。
ただし、その他のクラスを変更してはいけません。また、商品の種類が増えても、Cartクラスや ListDetail クラスを変更しなくてもよいようにしなさい。
大根 125円 1個 牛肉 1,580円 400g トマト 345円 5個
ListDetail クラス getList メソッドは、表示したいクラスが Food クラスのどのサブクラスでも同じようにメソッドを呼び出します。 しかし、実際には3つ目に呼び出したいメソッドが異なるわけで、この違いを Adapter クラスが吸収します。
getList メソッドのコードを見ますか?
name と price は、Food クラスなどのスーパークラスに getName()、getPrice() があるので、ポリモーフィズムを利用して同じように得ることができます。
それに対して、Vegetable クラスの 個数を得る getQuantity() や Meat クラスのグラム数を得る getVolume() はそのクラス独自のメソッドなので、ポリモーフィズムを利用することができません。
しかし、ListDetail クラスの getList メソッドの中で、Vegetable クラスなのか、Meat クラスなのかを判断してメソッドを呼ぶようにしては、商品(Food の派生クラス)が増えたときに、ListDetail クラスを変更しなければならなくなります。
そこで、ListDetail クラスと Food クラスの派生クラスの間に、呼び出すメソッドを変換する Adapter クラスを挟み込みます。
Adapter クラス(一部)のコードを見ますか?
本当に見ますか?
ListDetail クラス getList メソッドは、表示したいクラスが Food クラスのどのサブクラスでも同じようにメソッドを呼び出します。 しかし、実際には3つ目に呼び出したいメソッドが異なるわけで、この違いを Adapter クラスが吸収します。
getList メソッドのコードを見ますか?
name と price は、Food クラスなどのスーパークラスに getName()、getPrice() があるので、ポリモーフィズムを利用して同じように得ることができます。
それに対して、Vegetable クラスの 個数を得る getQuantity() や Meat クラスのグラム数を得る getVolume() はそのクラス独自のメソッドなので、ポリモーフィズムを利用することができません。
しかし、ListDetail クラスの getSimpleList メソッドの中で、Vegetable クラスなのか、Meat クラスなのかを判断してメソッドを呼ぶようにしては、商品(Food の派生クラス)が増えたときに、ListDetail クラスを変更しなければならなくなります。 そこで、ListDetail クラスと Food クラスの派生クラスの間に、呼び出すメソッドを変換する Adapter クラスを挟み込みます。
Adapter クラス(一部)のコードを見ますか?
本当に見ますか?
ListDetail クラス getList メソッドは、表示したいクラスが Food クラスのどのサブクラスでも同じようにメソッドを呼び出します。 しかし、実際には3つ目に呼び出したいメソッドが異なるわけで、この違いを Adapter クラスが吸収します。
getList メソッドのコードを見ますか?
name と price は、Food クラスに getName()、getPrice() があるので、ポリモーフィズムを利用して同じように得ることができます。
それに対して、Vegetable クラスの 個数を得る getQuantity() や Meat クラスのグラム数を得る getVolume() はそのクラス独自のメソッドなので、ポリモーフィズムを利用することができません。
しかし、ListDetail クラスの getSimpleList メソッドの中で、Vegetable クラスなのか、Meat クラスなのかを判断してメソッドを呼ぶようにしては、商品(Food の派生クラス)が増えたときに、ListDetail クラスを変更しなければならなくなります。 そこで、ListDetail クラスと Food クラスの派生クラスの間に、呼び出すメソッドを変換する Adapter クラスを挟み込みます。
Adapter クラスのコード(一部)を見ますか?
本当に見ますか?
ListDetail クラス getList メソッドは、表示したいクラスが Food クラスのどのサブクラスでも同じようにメソッドを呼び出します。 しかし、実際には3つ目に呼び出したいメソッドが異なるわけで、この違いを Adapter クラスが吸収します。
getList メソッドのコードを見ますか?
name と price は、Food クラスに getName()、getPrice() があるので、ポリモーフィズムを利用して同じように得ることができます。
それに対して、Vegetable クラスの 個数を得る getQuantity() や Meat クラスのグラム数を得る getVolume() はそのクラス独自のメソッドなので、ポリモーフィズムを利用することができません。
しかし、ListDetail クラスの getSimpleList メソッドの中で、Vegetable クラスなのか、Meat クラスなのかを判断してメソッドを呼ぶようにしては、商品(Food の派生クラス)が増えたときに、ListDetail クラスを変更しなければならなくなります。 そこで、ListDetail クラスと Food クラスの派生クラスの間に、呼び出すメソッドを変換する Adapter クラスを挟み込みます。
Adapter クラスのコード(一部)を見ますか?
本当に見ますか?
ListDetail クラス getList メソッドは、表示したいクラスが Food クラスのどのサブクラスでも同じようにメソッドを呼び出します。 しかし、実際には3つ目に呼び出したいメソッドが異なるわけで、この違いを Adapter クラスが吸収します。
getList メソッドのコードを見ますか?
name と price は、Food クラスに getName()、getPrice() があるので、ポリモーフィズムを利用して同じように得ることができます。
それに対して、Vegetable クラスの 個数を得る getQuantity() や Meat クラスのグラム数を得る getVolume() はそのクラス独自のメソッドなので、ポリモーフィズムを利用することができません。
しかし、ListDetail クラスの getSimpleList メソッドの中で、Vegetable クラスなのか、Meat クラスなのかを判断してメソッドを呼ぶようにしては、商品(Food の派生クラス)が増えたときに、ListDetail クラスを変更しなければならなくなります。 そこで、ListDetail クラスと Food クラスの派生クラスの間に、呼び出すメソッドを変換する Adapter クラスを挟み込みます。
Adapter クラスのコード(一部)を見ますか?
本当に見ますか?
ListDetail クラス getList メソッドは、表示したいクラスが Food クラスのどのサブクラスでも同じようにメソッドを呼び出します。 しかし、実際には3つ目に呼び出したいメソッドが異なるわけで、この違いを Adapter クラスが吸収します。
getList メソッドのコードを見ますか?
name と price は、Food クラスに getName()、getPrice() があるので、ポリモーフィズムを利用して同じように得ることができます。
それに対して、Vegetable クラスの 個数を得る getQuantity() や Meat クラスのグラム数を得る getVolume() はそのクラス独自のメソッドなので、ポリモーフィズムを利用することができません。
しかし、ListDetail クラスの getSimpleList メソッドの中で、Vegetable クラスなのか、Meat クラスなのかを判断してメソッドを呼ぶようにしては、商品(Food の派生クラス)が増えたときに、ListDetail クラスを変更しなければならなくなります。 そこで、ListDetail クラスと Food クラスの派生クラスの間に、呼び出すメソッドを変換する Adapter クラスを挟み込みます。
Adapter クラスのコード(一部)を見ますか?
本当に見ますか?
ListDetail クラス getList メソッドは、表示したいクラスが Food クラスのどのサブクラスでも同じようにメソッドを呼び出します。 しかし、実際には3つ目に呼び出したいメソッドが異なるわけで、この違いを Adapter クラスが吸収します。
getList メソッドのコードを見ますか?
name と price は、Food クラスに getName()、getPrice() があるので、ポリモーフィズムを利用して同じように得ることができます。
それに対して、Vegetable クラスの 個数を得る getQuantity() や Meat クラスのグラム数を得る getVolume() はそのクラス独自のメソッドなので、ポリモーフィズムを利用することができません。
しかし、ListDetail クラスの getSimpleList メソッドの中で、Vegetable クラスなのか、Meat クラスなのかを判断してメソッドを呼ぶようにしては、商品(Food の派生クラス)が増えたときに、ListDetail クラスを変更しなければならなくなります。 そこで、ListDetail クラスと Food クラスの派生クラスの間に、呼び出すメソッドを変換する Adapter クラスを挟み込みます。
Adapter クラスのコード(一部)を見ますか?
本当に見ますか?
ListDetail クラス getList メソッドは、表示したいクラスが Food クラスのどのサブクラスでも同じようにメソッドを呼び出します。 しかし、実際には3つ目に呼び出したいメソッドが異なるわけで、この違いを Adapter クラスが吸収します。
getList メソッドのコードを見ますか?
name と price は、Food クラスに getName()、getPrice() があるので、ポリモーフィズムを利用して同じように得ることができます。
それに対して、Vegetable クラスの 個数を得る getQuantity() や Meat クラスのグラム数を得る getVolume() はそのクラス独自のメソッドなので、ポリモーフィズムを利用することができません。
しかし、ListDetail クラスの getSimpleList メソッドの中で、Vegetable クラスなのか、Meat クラスなのかを判断してメソッドを呼ぶようにしては、商品(Food の派生クラス)が増えたときに、ListDetail クラスを変更しなければならなくなります。 そこで、ListDetail クラスと Food クラスの派生クラスの間に、呼び出すメソッドを変換する Adapter クラスを挟み込みます。
Adapter クラスのコード(一部)を見ますか?
本当に見ますか?
ListDetail クラス getList メソッドは、表示したいクラスが Food クラスのどのサブクラスでも同じようにメソッドを呼び出します。 しかし、実際には3つ目に呼び出したいメソッドが異なるわけで、この違いを Adapter クラスが吸収します。
getList メソッドのコードを見ますか?
name と price は、Food クラスなどのスーパークラスに getName()、getPrice() があるので、ポリモーフィズムを利用して同じように得ることができます。
それに対して、Vegetable クラスの 個数を得る getQuantity() や Meat クラスのグラム数を得る getVolume() はそのクラス独自のメソッドなので、ポリモーフィズムを利用することができません。
しかし、ListDetail クラスの getList メソッドの中で、Vegetable クラスなのか、Meat クラスなのかを判断してメソッドを呼ぶようにしては、商品(Food の派生クラス)が増えたときに、ListDetail クラスを変更しなければならなくなります。
そこで、ListDetail クラスと Food クラスの派生クラスの間に、呼び出すメソッドを変換する Adapter クラスを挟み込みます。
Adapter クラス(一部)のコードを見ますか?
本当に見ますか?
ListDetail クラス getList メソッドは、表示したいクラスが Food クラスのどのサブクラスでも同じようにメソッドを呼び出します。 しかし、実際には3つ目に呼び出したいメソッドが異なるわけで、この違いを Adapter クラスが吸収します。
getList メソッドのコードを見ますか?
name と price は、Food クラスなどのスーパークラスに getName()、getPrice() があるので、ポリモーフィズムを利用して同じように得ることができます。
それに対して、Vegetable クラスの 個数を得る getQuantity() や Meat クラスのグラム数を得る getVolume() はそのクラス独自のメソッドなので、ポリモーフィズムを利用することができません。
しかし、ListDetail クラスの getList メソッドの中で、Vegetable クラスなのか、Meat クラスなのかを判断してメソッドを呼ぶようにしては、商品(Food の派生クラス)が増えたときに、ListDetail クラスを変更しなければならなくなります。
そこで、ListDetail クラスと Food クラスの派生クラスの間に、呼び出すメソッドを変換する Adapter クラスを挟み込みます。
Adapter クラス(一部)のコードを見ますか?
本当に見ますか?
ListDetail クラス getList メソッドは、表示したいクラスが Food クラスのどのサブクラスでも同じようにメソッドを呼び出します。 しかし、実際には3つ目に呼び出したいメソッドが異なるわけで、この違いを Adapter クラスが吸収します。
getList メソッドのコードを見ますか?
name と price は、Food クラスなどのスーパークラスに getName()、getPrice() があるので、ポリモーフィズムを利用して同じように得ることができます。
それに対して、Vegetable クラスの 個数を得る getQuantity() や Meat クラスのグラム数を得る getVolume() はそのクラス独自のメソッドなので、ポリモーフィズムを利用することができません。
しかし、ListDetail クラスの getList メソッドの中で、Vegetable クラスなのか、Meat クラスなのかを判断してメソッドを呼ぶようにしては、商品(Food の派生クラス)が増えたときに、ListDetail クラスを変更しなければならなくなります。
そこで、ListDetail クラスと Food クラスの派生クラスの間に、呼び出すメソッドを変換する Adapter クラスを挟み込みます。
Adapter クラス(一部)のコードを見ますか?
本当に見ますか?
ListDetail クラス getList メソッドは、表示したいクラスが Food クラスのどのサブクラスでも同じようにメソッドを呼び出します。 しかし、実際には3つ目に呼び出したいメソッドが異なるわけで、この違いを Adapter クラスが吸収します。
getList メソッドのコードを見ますか?
name と price は、Food クラスなどのスーパークラスに getName()、getPrice() があるので、ポリモーフィズムを利用して同じように得ることができます。
それに対して、Vegetable クラスの 個数を得る getQuantity() や Meat クラスのグラム数を得る getVolume() はそのクラス独自のメソッドなので、ポリモーフィズムを利用することができません。
しかし、ListDetail クラスの getList メソッドの中で、Vegetable クラスなのか、Meat クラスなのかを判断してメソッドを呼ぶようにしては、商品(Food の派生クラス)が増えたときに、ListDetail クラスを変更しなければならなくなります。
そこで、ListDetail クラスと Food クラスの派生クラスの間に、呼び出すメソッドを変換する Adapter クラスを挟み込みます。
Adapter クラス(一部)のコードを見ますか?
本当に見ますか?
ListDetail クラス getList メソッドは、表示したいクラスが Food クラスのどのサブクラスでも同じようにメソッドを呼び出します。 しかし、実際には3つ目に呼び出したいメソッドが異なるわけで、この違いを Adapter クラスが吸収します。
getList メソッドのコードを見ますか?
name と price は、Food クラスなどのスーパークラスに getName()、getPrice() があるので、ポリモーフィズムを利用して同じように得ることができます。
それに対して、Vegetable クラスの 個数を得る getQuantity() や Meat クラスのグラム数を得る getVolume() はそのクラス独自のメソッドなので、ポリモーフィズムを利用することができません。
しかし、ListDetail クラスの getList メソッドの中で、Vegetable クラスなのか、Meat クラスなのかを判断してメソッドを呼ぶようにしては、商品(Food の派生クラス)が増えたときに、ListDetail クラスを変更しなければならなくなります。
そこで、ListDetail クラスと Food クラスの派生クラスの間に、呼び出すメソッドを変換する Adapter クラスを挟み込みます。
Adapter クラス(一部)のコードを見ますか?
本当に見ますか?
ListDetail クラス getList メソッドは、表示したいクラスが Food クラスのどのサブクラスでも同じようにメソッドを呼び出します。 しかし、実際には3つ目に呼び出したいメソッドが異なるわけで、この違いを Adapter クラスが吸収します。
getList メソッドのコードを見ますか?
name と price は、Food クラスなどのスーパークラスに getName()、getPrice() があるので、ポリモーフィズムを利用して同じように得ることができます。
それに対して、Vegetable クラスの 個数を得る getQuantity() や Meat クラスのグラム数を得る getVolume() はそのクラス独自のメソッドなので、ポリモーフィズムを利用することができません。
しかし、ListDetail クラスの getList メソッドの中で、Vegetable クラスなのか、Meat クラスなのかを判断してメソッドを呼ぶようにしては、商品(Food の派生クラス)が増えたときに、ListDetail クラスを変更しなければならなくなります。
そこで、ListDetail クラスと Food クラスの派生クラスの間に、呼び出すメソッドを変換する Adapter クラスを挟み込みます。
Adapter クラス(一部)のコードを見ますか?
本当に見ますか?
ListDetail クラス getList メソッドは、表示したいクラスが Food クラスのどのサブクラスでも同じようにメソッドを呼び出します。 しかし、実際には3つ目に呼び出したいメソッドが異なるわけで、この違いを Adapter クラスが吸収します。
GetList メソッドのコードを見ますか?
name と price は、Food クラスなどのスーパークラスに GetName()、GetPrice() があるので、ポリモーフィズムを利用して同じように得ることができます。
それに対して、Vegetable クラスの 個数を得る GetQuantity() や Meat クラスのグラム数を得る GetVolume() はそのクラス独自のメソッドなので、ポリモーフィズムを利用することができません。
しかし、ListDetail クラスの GetList メソッドの中で、Vegetable クラスなのか、Meat クラスなのかを判断してメソッドを呼ぶようにしては、商品(Food の派生クラス)が増えたときに、ListDetail クラスを変更しなければならなくなります。
そこで、ListDetail クラスと Food クラスの派生クラスの間に、呼び出すメソッドを変換する Adapter クラスを挟み込みます。
Adapter クラス(一部)のコードを見ますか?
本当に見ますか?
ListDetail クラス getList メソッドは、表示したいクラスが Food クラスのどのサブクラスでも同じようにメソッドを呼び出します。 しかし、実際には3つ目に呼び出したいメソッドが異なるわけで、この違いを Adapter クラスが吸収します。
getList メソッドのコードを見ますか?
name と price は、Food クラスなどのスーパークラスに getName()、getPrice() があるので、ポリモーフィズムを利用して同じように得ることができます。
それに対して、Vegetable クラスの 個数を得る getQuantity() や Meat クラスのグラム数を得る getVolume() はそのクラス独自のメソッドなので、ポリモーフィズムを利用することができません。
しかし、ListDetail クラスの getList メソッドの中で、Vegetable クラスなのか、Meat クラスなのかを判断してメソッドを呼ぶようにしては、商品(Food の派生クラス)が増えたときに、ListDetail クラスを変更しなければならなくなります。
そこで、ListDetail クラスと Food クラスの派生クラスの間に、呼び出すメソッドを変換する Adapter クラスを挟み込みます。
Adapter クラス(一部)のコードを見ますか?
本当に見ますか?
ListDetail クラス getList メソッドは、表示したいクラスが Food クラスのどのサブクラスでも同じようにメソッドを呼び出します。 しかし、実際には3つ目に呼び出したいメソッドが異なるわけで、この違いを Adapter クラスが吸収します。
getList メソッドのコードを見ますか?
name と price は、Food クラスなどのスーパークラスに getName()、getPrice() があるので、ポリモーフィズムを利用して同じように得ることができます。
それに対して、Vegetable クラスの 個数を得る getQuantity() や Meat クラスのグラム数を得る getVolume() はそのクラス独自のメソッドなので、ポリモーフィズムを利用することができません。
しかし、ListDetail クラスの getList メソッドの中で、Vegetable クラスなのか、Meat クラスなのかを判断してメソッドを呼ぶようにしては、商品(Food の派生クラス)が増えたときに、ListDetail クラスを変更しなければならなくなります。
そこで、ListDetail クラスと Food クラスの派生クラスの間に、呼び出すメソッドを変換する Adapter クラスを挟み込みます。
Adapter クラス(一部)のコードを見ますか?
本当に見ますか?