У меня есть подкласс BetterBasket
, который наследуется от суперкласса Basket
, который сам наследует от ArrayList<Product>
.Мой метод add
в BetterBasket
добавляет элемент, который ищется через ArrayList
, и если есть объект того же типа, то значения должны быть добавлены к уже существующему объекту (объедините quantity
и price
)и, если нет, объект должен быть добавлен в ArrayList
.Это мой код, но он не будет работать должным образом, так как он будет добавлять продукты по мере необходимости, но не будет объединять те же продукты.Так что он не использует остальную часть кода.
@Override
public boolean add(Product pr)
{
if (!this.contains(pr)){ //if array doesn't contain the item
super.add(pr); //adds item
} else { //add item quantity and price to existing item.
double x = pr.getPrice();
int q = pr.getQuantity();
for (int i=0; i < super.size(); i++) //loop through array
{
if (super.get(i).equals(pr)){ //if item is same as item within
//the array
int w = super.get(i).getQuantity();
double y = super.get(i).getPrice();
super.get(i).setQuantity(q + w);
super.get(i).setPrice(y + x);
}
}
}
return true;
}
Должен ли я использовать this
или super
для первого оператора if
?Почему ветвь else
не используется?