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面向对象复习之一的主要内容,如果未能解决你的问题,请参考以下文章

Java知识面试题复习Java面向对象

Java基础复习---第三章

Java面试复习(纯手打)

JAVA面向对象复习

java面向对象基础复习

Java面向对象复习