美文网首页
2、init方法:把操作成员变量的方法放在类里。

2、init方法:把操作成员变量的方法放在类里。

作者: 爱学习的代代 | 来源:发表于2021-03-16 09:29 被阅读0次

    1、类里的方法

    1. 初始化成员变量的init方法
    2. 读写成员变量的get、set方法(成员变量设置为私有)
    3. 可以做一些专有的处理逻辑(异常值判断: soldPrice 必须要大于0才行)比如:
    void init(int id, String name, int count, double soldPrice, double purchasingRrice) {
            this.id = id;
            this.name = name;
            this.count = count;
            this.soldPrice =soldPrice  > 0 ? soldPrice : 0;
            this.purchasingRrice = purchasingRrice;
        }
    

    2、 好处

    • 集中管控,避免自己的成员变量让其他人所以操控
    • 代码逻辑可以公用,避免重复修改。如init方法,增加一个成员变量,则只需要在init中添加一行即可。

    3. Java注释

    // 1. 单行注释
    /* 2. 多行注释
    */
    
    /**(3. 类注释)
     * 定义的一个商品类  
     *
     */
    public class Merchandise {}
    
    
    /**   (4. 方法注释)
         * 判断库存是否够数的方法   
         * @param count  预期库存值
         * @return  如果库存达到预期值则返回true,否则返回false。
    */
        public Boolean countIsEnough(int count) {
            if (this.count < count) {
                System.out.println("商品的个数为"+ this.count + "。库存不足,请补货");
                return false;
    
            }
            else {
                System.out.printf("商品的个数充足");
                return true;
            }
    
        }
    

    4、代码示例 init方法

    一 、TestMerchandise.java
    
    public class TestMerchandise {
        public static void main(String[] args) {
    
            int MAX_COUNT = 500;
            Merchandise m = new Merchandise();
    
    //        m.setId(1);
    //        m.setName("牙刷");
    //        m.setCount(200);
    //        m.setPurchasingRrice(2.3);
    //        m.setSoldPrice(5);
    
    
            m.init(1,"牙刷", 200, 2.3, 5);
    
    
            
            if (m.countIsEnough(m.getCount()) == false) {
                int addCount = MAX_COUNT - m.getCount();
                m.changeCount(addCount);
    
            } else {
    
            }
    
            m.changeCountOneByOne(900);
    
            System.out.printf(m.getName() + "商品的库存是:" + m.getCount());
    
        }
    }
    
    
    
    二、Merchandise.java
    /**
     * 定义的一个商品类
     *
     */
    public class Merchandise {
        private int id;
    //  商品名称
        private String name;
    //  库存个数
        private int count;
    //  售价
        private double soldPrice;
    //  进价
        private double purchasingRrice;
    
        void init(int id, String name, int count, double soldPrice, double purchasingRrice) {
            this.id = id;
            this.name = name;
            this.count = count;
            this.soldPrice =soldPrice  > 0 ? soldPrice : 0;
            this.purchasingRrice = purchasingRrice;
        }
    
    
    //  对商品的库存进行修改
        public void changeCount(int count) {
            System.out.println("给商品补货" + count + "个");
            this.count += count;
        }
    
        /**
         * 判断库存是否够数的方法
         * @param count  预期库存值
         * @return  如果库存达到预期值则返回true,否则返回false。
         */
    //  查看商品的库存是否够数据
        public Boolean countIsEnough(int count) {
            if (this.count < count) {
                System.out.println("商品的个数为"+ this.count + "。库存不足,请补货");
                return false;
    
            }
            else {
                System.out.printf("商品的个数充足");
                return true;
            }
    
        }
    
        /**
         * 一个一个增加库存个数,使用递归调用
         * @param count
         */
        public void changeCountOneByOne(int count) {
            Boolean isEnough = this.countIsEnough(count);
            if (!isEnough) {
                this.changeCount(1);
                changeCountOneByOne(900);
            }
    
        }
    
    //  生成get、set 方法
        public void setCount(int count) {
            this.count = count;
        }
    
        public int getCount() {
            return count;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        public int getId() {
            return id;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public String getName() {
            return name;
        }
    
        public void setPurchasingRrice(double purchasingRrice) {
            this.purchasingRrice = purchasingRrice;
        }
    
        public double getPurchasingRrice() {
            return purchasingRrice;
        }
    
        public void setSoldPrice(double soldPrice) {
            this.soldPrice = soldPrice;
        }
    
        public double getSoldPrice() {
            return soldPrice;
        }
    }
    
    
    

    相关文章

      网友评论

          本文标题:2、init方法:把操作成员变量的方法放在类里。

          本文链接:https://www.haomeiwen.com/subject/xlurcltx.html