item (-) id: String (-) description: String (-) unitPrice double (-) numberOfltem: int (+) item(id:String, description:String, unitPrice:double) (+) getNumberOfItem(): int (+) computeSalePrice(): double (+) toString(): String HouseholdItem (-) discount: double (+) HouseholdItem(discount:double) (+) computeSalePrice(): double (+) toString(): String Electronicltem (-) warrentyPeriod: int (-) warrentyCost: double (+) ElectronicItem(warrentyPeriod, warrentyCost) (+) computeSalePrice(): double (+) toString(): String
In a shopping cart, there are various items, which can either belong to the category of household items or electronic items. The following UML diagram illustrates the relationship between items, household items, and electronic items.
//Implementation Class
public class ShoppingCart{
public static void main(String[] args){
final int MAX_ITEM = 50;
Item cart = new Item[MAX_ITEM];
addItem(cart); // populate the item array
printItem(cart);
}
}
Considering that all the data definition classes and the implementation class are complete, which of the following Object-Oriented Programming (OOP) concepts do you need to use in the above context?
i) Polymorphism
ii) Method Overloading
iii) Method Overriding
iv) Dynamic Binding
v) Abstract Class
Explain, using course terminology, how you would use any of the above concepts to model the given scenario.

Unlock instant AI solutions
Tap the button
to generate a solution







