java面向对象复习之一
2020-12-13 05:29
标签:对象属性 目的 exe ISE 在家 赋值 package 为什么 stat 目的: 复习如何实现代码的逻辑思路; 复习类的封装; 复习类和对象的创建使用和封装; 练习: java面向对象复习之一 标签:对象属性 目的 exe ISE 在家 赋值 package 为什么 stat 原文地址:https://www.cnblogs.com/shijinglu2018/p/11142395.html实现功能:人到超市买东西
抽出三个类: 人 超市 东西;
功能点: 买;
它们之间的联系:东西包含于超市 , 东西可以考虑用数组来表示;
把类这个模型建立起来:人 超市 东西;
具体实现: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
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());
//靖路在家家乐超市买了exercise1.Product@1b6d3586 为什么不能是result?而是乱码? 是不是result是一个商品对象
//而不是商品名?
}
}
}