gpt4 book ai didi

java - Java中添加ArrayList的继承方法

转载 作者:行者123 更新时间:2023-12-01 10:49:30 25 4
gpt4 key购买 nike

希望你能帮助我。

我正在为学校开发一个“编程入门”Java 项目,并且在继承方面遇到了一些问题。

我需要创建将不同产品添加到数组列表中的方法,该数组列表代表一个非常简单的数据库。因此,我有一个用于纸杯蛋糕的数组列表,一个用于面包等的数组列表。

如何在我的父类(super class)“Product”中创建一个所有子类都可以继承的方法。

现在“添加产品”已在每个子类中实现,看起来像这样。

protected void addCakes() throws IllegalArgumentException {
System.out.println("Enter quantity to be added: ");
int n = scanner.nextInt();

if(n > 0) {
for(int i = 0; i < n; i++) {
cupcakedatabase.addCupcake(this);
}
} else {
throw new IllegalArgumentException("The amount has to be positive");
}
}

cupcakeDB 中的代码如下所示:

private static ArrayList<Cupcake> cupcakes;

public CupcakeDB() {
cupcakes = new ArrayList<Cupcake>();
}

public void addCupcake(Cupcake cupcake) {
cupcakes.add(cupcake);
}

编辑

这在我的产品类别中。

import java.util.Scanner;

public abstract class Product {

protected String name;
protected String flavor;
protected double price;
protected int quantity;

Scanner scanner = new Scanner(System.in);

public void createProduct(String name, String flavor, double price) {
this.name = name;
this.flavor = flavor;
this.price = price;
}

public void changePrice(double price) {
this.setPrice(price);
}

public void changeFlavor(String flavor) {
this.setFlavor(flavor);
}

public void setFlavor(String flavor) {
this.flavor = flavor;
}

public void setPrice(double price) {
this.price = price;
}

public void setQuantity(int quantity) {
this.quantity = quantity;
}

public void setName(String name) {
this.name = name;
}

public String getFlavor() {
return flavor;
}

public double getPrice() {
return price;
}

public String getName() {
return name;
}

public int getQuantity() {
return quantity;
}

}

最佳答案

你可以尝试类似的东西,

class Product<T>{
ArrayList<T> list = new ArrayList<T>();

public void add(T t){
list.add(t);
}

public ArrayList<T> getMyAllProduct(){
return list;
}
}

Now Inherit this to your specific Product class and will get you it automatic.

关于java - Java中添加ArrayList的继承方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33997507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com