美文网首页
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方法:把操作成员变量的方法放在类里。

    1、类里的方法 初始化成员变量的init方法 读写成员变量的get、set方法(成员变量设置为私有) 可以做一些专...

  • JAVA之重载

    封装:用类定义成员变量,并把操作成员变量的代码都放在类里面。 1、重载 方法签名:方法名+依次参数类型。方法签名是...

  • 类与对象

    类包括 成员变量 和 成员方法 成员变量:String name; 成员方法 ( 把static去掉 )pu...

  • 面向对象02

    成员变量和局部变量的区别 1、在类中的位置不同 成员变量 类中方法外 局部变量 方法内或者方法声明上 2、在...

  • 成员变量和局部变量的区别

    成员变量和局部变量的区别 (1)在类中的位置不同 成员变量:类中方法外 局部变量:方法定义中或者方法声明上 (2)...

  • python 构造器

    1.类的构造函数,用于初始化类成员等,只能用init ,不能换其他名字 2.init方法的意义:init方法在类的...

  • 关于区分类变量、类方法、实例变量、实例方法和默认值

    一、区分类变量、类方法、实例变量、实例方法 1、成员变量和成员方法首先成员变量和成员方法是范围最大的定义:即成员变...

  • iOS分类(类别)的注意点

    1.分类只能增加方法(包括类方法和对象方法),不能增加成员变量 2.在分类方法的实现中可以访问原来类中的成员变量;...

  • ConcurrentHashMap源码解析

    类结构图 Node介绍 ForwardingNode介绍 成员变量 构造方法 操作table的方法 initTab...

  • Python轻松入门 - 5 类的定义和使用

    类的定义:把成员变量及其操作方法封装在一起就叫类 python类的定义,class关键字加冒号 类方法 面向对象编...

网友评论

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

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