• 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());
                //靖路在家家乐超市买了exercise1.Product@1b6d3586       为什么不能是result?而是乱码?   是不是result是一个商品对象
                //而不是商品名?
            }
    
        }
    
    }






    成年人的世界没有那么多的童话,也没有那么多的逆袭。
  • 相关阅读:
    OpenStack(M版)之基础环境配置(2 更换源、安装OpenStack客户端)
    OpenStack(M版)之基础环境配置(1静态ip、网络接口)
    Java关于print、println、printf的区别
    输出1-n的全排列dfs
    统计难题
    单词数
    减肥计划
    Zero Array---思维题
    快速幂+快速乘
    线段树求逆序对
  • 原文地址:https://www.cnblogs.com/shijinglu2018/p/11142395.html
Copyright © 2020-2023  润新知