Привет всем, я пытаюсь освежить свои знания Java, так как я давно не кодировал Java.Я работаю над этим проектом магазина, который имеет три класса.1. Product 2.InventoryItem & 3.Store
Класс продукта требует строку для имени и двойную для стоимости.Существуют методы доступа и мутатора для установки и извлечения данных.
public class Product {
//fields
private String productName;
private double cost;
/**
* Contructor
*
* @param productName
* @param cost
*/
public Product(String productName, double cost){
this.productName = productName;
this.cost = cost;
}
...
Класс InventoryItem добавляет количество к информации о продукте.Это будет ясно, почему с классом Store.Я хотел бы передать новый объект Product в качестве параметра в конструкторе, чтобы позже было проще добавить всю информацию в ArrayList.Как и выше, я создал методы set и get для имени, стоимости и количества.
public class InventoryItem {
//fields
private Product productObject;
private int quantity;
/**
* Constructor
*
* @param quantity
*/
public InventoryItem(new Product, int quantity) {
this.quantity = quantity;
}
/**
* Method to set new name for product in inventory
*
* @param newProductName
*/
public void setProductName(String newProductName) {
productObject.setProductName(newProductName);
}
...
Я также хотел бы знать, как мне поступить с использованием методов Products, когда я выясню, как передать Объект какаргумент.
При попытке предварительно заполнить мой ArrayList InventotyItems, я начал получать ошибку.Это делается в моем классе Store.
import java.util.ArrayList;
public class Store {
//fields
private String storeName;
private String location;
private ArrayList<InventoryItem> itemList;
/**
* Constructor
*/
public Store(String storeName, String location){
this.storeName = storeName;
this.location = location;
itemList = new ArrayList<>();
}
/**
* Method to prepopulate a list of items the store will be selling
*/
private void setItemList(){
itemList.add(new InventoryItem(new Product("Bananas", 1.50)20));
itemList.add(new InventoryItem(new Product("Canned Beans", 2.00)15));
itemList.add(new InventoryItem(new Product("Easy-Mac", 2.50)15));
itemList.add(new InventoryItem(new Product("Oranges", .50)25));
itemList.add(new InventoryItem(new Product("Cereal", 3.00)10):);
itemList.add(new InventoryItem(new Product("Milk", 4.00)10));
}
}
Вместо изменения параметров в InventoryItem
itemList.add(newInventoryItem("Bananas", 1.50, 20));
Я хотел бы выяснить, как передатьновый продукт, как показано выше в блоке кода из класса Store.