【问题标题】:How to make a method that needs the information of a private attribute?如何制作需要私有属性信息的方法?
【发布时间】:2017-02-01 20:51:10
【问题描述】:

我需要根据 cliente 类中的方法 defineCategoria 返回给我的内容来制作方法 calculaDesconto,但我只是找不到让它工作的方法。

http://pastebin.com/4ta8dQUM

【问题讨论】:

    标签: java bluej


    【解决方案1】:

    我不明白这个问题,但是如果您只是问为什么不能在 Compra.java 类中使用“pontos”变量,那么答案应该很简单:使用您在其中创建的 getter 方法Cliente.java 类。

    如何使用getter方法? 在 Compra.java 类中,您在 Compra.java 类的构造函数中传递了 Cliente.java 类的引用。

    public Compra(int numero, double valorInicial, Cliente clientes) {
    

    并且您存储了对数据成员的引用:

    private Cliente clientes;
    

    所以现在,在 Compra.java 类中(并回答我之前假设的问题),访问 calculaDesconto() 中的 getter 并通过以下方式使用变量:

    public double calculaDesconto() {
        if (valorInicial < 50.00)
            valorFinal = valorInicial;
        else if (clientes.getPontos() == 'A')
            valorFinal = valorInicial * 0.05;
        else if (clientes.getPontos() == 'B')
            valorFinal = valorInicial * 0.035;
        else {
            valorFinal = valorInicial * 0.01;
        }
    }
    

    注意,clientes.getPontos() getter 方法的使用已经取代了之前的 pontos

    【讨论】:

    • 非常感谢您澄清我是一个初学者,到目前为止这是一个很大的挑战。
    猜你喜欢
    • 2012-07-16
    • 2019-04-01
    • 2012-01-28
    • 1970-01-01
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多