新手一个,第一个面向对象实例,主要通过模拟商店进货、卖货的实例,理解List的用法和Java面向对象的思想 思想:两个主体:货物(Goods) 商店(Shop) Goods有名称、商品信息、数量等属相 Shop有名称、仓库等属性,进货、卖货、查看仓库货物等方法
建立Goods类:
public class Goods { private String name; private String info; private String account; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getInfo() { return info; } public void setInfo(String info) { this.info = info; } public String getAccount() { return account; } public void setAccount(String account) { this.account = account; } }建立Shop类:
public class Shop { private String name; private String info; private List<Goods> warehouse = new ArrayList<Goods>();//建立仓库对象 public String getName() { return name; } public void setName(String name) { this.name = name; } public String getInfo() { return info; } public void setInfo(String info) { this.info = info; } public List<Goods> getWarehouse() { return warehouse; } public void setWarehouse(List<Goods> warehouse) { this.warehouse = warehouse; } public void buy(Goods goods){ //进货 this.getWarehouse().add(goods); } public void sale(Goods goods){ //卖货 this.getWarehouse().remove(goods); } public List<Goods> show(){ //查看仓库货物 return this.warehouse; } }测试类:(以水果为例)
public class Test { public static void main(String[] args) { Shop shop1 = new Shop(); //进货 Goods goods1=new Goods(); for(int i=0;i<10;i++){ goods1.setName("苹果"); shop1.buy(goods1); } Goods goods2=new Goods(); for(int i=0;i<10;i++){ goods2.setName("梨"); shop1.buy(goods2); } //查看仓库货物数量 List<Goods> warehouse = shop1.show(); System.out.println("仓库共有:"+warehouse.size()+"个水果"); for(int i=0;i<warehouse.size();i++){ System.out.println("第"+(i+1)+"个是"+warehouse.get(i).getName()); } //出售货物: for (int i = 0;i<5;i++){ shop1.sale(goods1); } //查看剩余货物: System.out.println("仓库还剩:"+warehouse.size()+"个水果"); for(int i=0;i<warehouse.size();i++){ System.out.println("第"+(i+1)+"个是"+warehouse.get(i).getName()); } } }