1
resposta

[Dúvida] Variável cotacaoDolar pode ser declarada direto na inferface ?

Minha dúvida era somente essa mesmo quanto ao exercicio1, seria uma boa prática declarar variáveis no header da interface sabendo que os métodos assinados pode acessar ou não essa variavel? Ex:

package ConversorDeMoedas;

public interface ConversaoFinanceira {
    double cotacaoDolar = 4.85;
    void converterDolarParaReal(double valorDolar);

    void converterRealParaDolar(double valorReal);
}
package ConversorDeMoedas;
public class ConversorMoeda implements ConversaoFinanceira {

    @Override
    public void converterDolarParaReal(double valorDolar) {
        double valorReal = valorDolar * ConversaoFinanceira.cotacaoDolar;
        System.out.println( valorDolar + " US" + " em Reais corresponde à: " + valorReal + " R$");
    }
    @Override
    public void converterRealParaDolar(double valorReal) {
        double valorDolar = valorReal / ConversaoFinanceira.cotacaoDolar;
        System.out.println ( valorReal + " R$" + " em Dólar corresponde à: " + valorDolar  + " US");
    }
}
1 resposta

Olá, Anderson!

Só um detalhe para não confundir, não é possível declarar variáveis em interfaces, apenas constantes e métodos.

Quanto a dúvida, se a constante fizer parte do mesmo contexto, pode ser uma opção declarar na interface. Somente declarar ou não, não é um problema e nem pode ser considerado má prática.