Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Dúvida no Ex. 1 da Aula 2 - Nomes mais legíveis

1) Vejo que em alguns momentos o instrutor usa o this.atributo e em outros momentos não. O this facilita ou atrapalha a legibilidade do código? Qual o recomendado?

2) Como dar nomes aos métodos? ex.: calculaImposto() , calcularImposto() , imposto()

Qual forma abaixo devo utilizar?

public double getValorLiquido() {
        return valorBruto - imposto();
}

public double getValorLiquido() {
        return this.valorBruto - this.calculaImposto();
    }
4 respostas

Fala ai Helder, utilizamos o this para dizer que estamos nos referindo ao atributo da própria classe, por exemplo:

public class Conta {

    private double saldo = 10.5;

    public double getSaldo(Double saldo) {
        return saldo;
    }

}

Temos a seguinte classe e método, agora imagine dentro do nosso main o seguinte código.

System.out.println(conta.getSaldo(15.90));

Vai ser impresso no console 15.90, pois foi passada o valor para o método, agora fazemos a seguinte modificação na classe.

public double getSaldo(Double saldo) {
        return this.saldo;
    }

Executando o mesmo main vai ser impresso 10.5 pois com a palavra chaves "this" referenciamos para a variavel de atributo que por padrão vem com o respectivo valor.

Entendeu ?

solução!

Olá Helder,

1) This é utilizado para dizer que o atributo ou metodos é da propria classe. Ou seja, o mesmo objeto. no caso servirá para diferenciar no ex: this.valor = valor.

Mas caso você coloque valor = valor ele também funcionaria. Mas nao ficaria muito legível entende? Ja que o valor apos o igual é passado por parâmetro e o valor antes é atributo da classe tem o mesmo nome.

2) Bom, aqui também é uma questão de clareza e objetividade na escrita do nome do método. Sempre prefira colocar nomes que soam como verbo. Ex: this.calcularImposto() é muito mais fácil de entender do que simplesmente, imposto(). Mas se você acha mais elegante e claro, calculaImposto(), tambem fica interessante. Diferente de imposto() apenas.

Espero ter ajudado ;)

Ajudaram bastante. Obrigado!

De nada Helder, sempre que precisar não deixe de criar suas dúvidas