java面向对象复习之一
Posted shijinglu2018
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java面向对象复习之一相关的知识,希望对你有一定的参考价值。
目的:
复习如何实现代码的逻辑思路;
复习类的封装;
复习类和对象的创建使用和封装;
练习:
实现功能:人到超市买东西
抽出三个类: 人 超市 东西;
功能点: 买;
它们之间的联系:东西包含于超市 , 东西可以考虑用数组来表示;
把类这个模型建立起来:人 超市 东西;
具体实现:
package exercise1; public class Product private String ProductName; public String getProductName() return ProductName; public void setProductName(String productName) this.ProductName = productName;
package exercise1; public class Market private String marketName; private Product[] productArr; public String getMarketName() return marketName; public void setMarketName(String marketName) this.marketName = marketName; public Product[] getProduct() return productArr; public void setProduct(Product[] product) this.productArr = product; Product sell(String name) for (int i=0;i<productArr.length;i++) if (productArr[i].getProductName()==name) return productArr[i]; return null;
package exercise1; public class Person private String name; public String getName() return name; public void setName(String name) this.name = name; //购物,指定去哪个超市,商品名 //调用超市的卖货方法 Product shopping(Market market,String name) return market.sell(name);
package exercise1; //购买,给前面的类的具体对象属性赋值,并调用相关方法; public class Shopping public static void main(String[] args) //创建商品对象,给名字赋值 Product p1=new Product(); Product p2=new Product(); Product p3=new Product(); Product p4=new Product(); Product p5=new Product(); p1.setProductName("苹果"); //为什么没有main这个方法这行会报错??? p2.setProductName("梨子"); p3.setProductName("洗衣粉"); p4.setProductName("香皂"); p5.setProductName("扫帚"); //创建超市对象,给超市名字赋值,给仓库赋值 Market m=new Market(); m.setMarketName("家家乐超市"); m.setProduct(new Product[]p1,p2,p3,p4,p5); //调用购物方法,指定超市和商品名,得到购物结果 Person p=new Person(); p.setName("靖路"); Product result=p.shopping(m, "苹果"); //根据结果进行判断 if (result==null) System.out.println("对不起,我们超市没有该商品!"); else System.out.println(p.getName()+"在"+m.getMarketName()+"买了"+result.getProductName()); //靖路在家家乐超市买了[email protected] 为什么不能是result?而是乱码? 是不是result是一个商品对象 //而不是商品名?
以上是关于java面向对象复习之一的主要内容,如果未能解决你的问题,请参考以下文章