Vamos com calma, temos métodos que não possuem tipo de retorno, são os construtores.
O modificador pode ser mais de um, métodos estáticos e os abstratos, por exemplo.
As instruções existentes em um método (também conhecido como corpo do método) é o conjunto de passos para que uma tarefa (um método pode ser entendido como o processo para realizar uma tarefa) seja executada.
O caso citado por ti nunca irá acontecer, você não pode ter um método com mesmo nome de um atributo.
Creio que você quis se referir a isso
Se foi isso, estamos falando de um método assessor, responsável por definir o valor de um atributo cujo modificador o restringe para a instância de objeto em questão.
Além disso, a instrução diz que você está passando o valor recebido (parâmetro nome) ao atributo (nome) referente àquela instância de objeto específica (this.nome).
É isso.
L
Luciano_Trind
Darlan, Escrevi o código errado! O correto é da forma que você escreveu.
darlan_machado
Embora haja quem discorde, existe um conceito da POO que se chama encapsulamento, basicamente, consiste em esconder os atributos (torná-los privados) e habilitar acesso aos mesmos via métodos assessores.
No caso do encapsulamento, se eu tenho um atributo “Saldo” e coloco ele como private, não vou conseguir alterar seu valor por outra classe, porém posso manipular com um depósito ou retirada. Seria isso?
darlan_machado
Se você tem um atributo saldo, em uma classe Conta e o mesmo está como privado, precisa de métodos para permitir as alterações, setSaldo e getSaldo, por exemplo.
L
Luciano_Trind
Entendi, muito obrigado!
L
Luciano_Trind
Darlan, Só mais uma pergunta!
Sempre que eu for escrever um código, terei que criar classes para depois junta-las?
darlan_machado
A ideia de se desenvolver orientado a objetos é exatamente esta.
Veja, cada classe representa um conjunto de objetos dentro de um contexto específico. Cada grupo de objetos (ou classe) pode e deve fazer exatamente aquilo para que existe.
Isto vai permitir que você reuse o código em trechos diversos e, até mesmo, em outros projetos.
L
Luciano_Trind
Legal, vou começar a estudar sobre herança, acredito que vai ao encontro disso.
rmendes08
Aí é que está o ponto. Para uma classe Conta, o atributo saldo deveria ser manipulado apenas pelos métodos da própria classe (deposito/retirada, etc.). Permitir que alguma classe externa faça um “setSaldo()” em uma classe conta quebra o encapsulamento da classe.
Solucao aceita
darlan_machado
Entendo que conta será um atributo de alguma outra classe (banco? Correntista?) e que o mesmo invocará, ao menos, o método getSaldo.
Uma conta, sozinha, é incapaz de se movimentar.
Este foi o contexto que considerei para o comentário anterior.