Já que o curso definiu que todos os atributos de Funcionário são do tipo private, seria possível criar os métodos Get e Set para todos os atributos de Funcionário? Na prática como isso funciona?
Já que o curso definiu que todos os atributos de Funcionário são do tipo private, seria possível criar os métodos Get e Set para todos os atributos de Funcionário? Na prática como isso funciona?
Bom dia Mário, tudo bem? Não fiz o curso mas imagino que você esteja falando de encapsulamento, que é exatamente isso que você falou, você "protege" os atributos da classe como private e cria métodos públicos que acessam seus atributos, por exemplo:
public class Funcionario{
private int id;
private String name;
public int getId(){
return id;
}
public void setId(int id){
this.id = id;
}
public String getName(){
return name;
}
public void setName(String name){
this.name = name;
}
}
Era essa a sua dúvida?
Mário, tudo bem? você está falando realmente de encapsulamento. Avançe no curso e logo entenderá o conceito correto. Lembre-se da importância de não usar getters e setters para tudo tá bom? apenas para regras de negócios.
Abraço.
Felipe e André, obrigado pelas informações. O que eu queria dizer é se seria possível criar um método set que recebesse, por exemplo, nome, departamento e data de nascimento (todos os parâmetros do funcionário) e fizesse a inclusão/atualização deles todos num único comando, em vez. O mesmo valeria para o get.
Olá Mário, tudo bem?
Provavelmente, o que você está precisando é de um construtor que será visto no curso. Mas só adiantando como seria no exemplo do funcionário:
public class Funcionario{
private int id;
private String name;
public Funcionario(int id, String name){
this.id = id;
this.name = name;
}
//getters e setters para cada atributo
}
Então, você instancia o objeto Funcionario
da seguinte maneira:
Funcionario funcionario = new Funcionario(1, "Alex");
Veja que nesse exemplo já está sendo enviado o id
e name
do funcionário e, ao mesmo tempo, os atributos desse objeto já estão computados!
Era isso que precisava saber?
Caso quiser ver mais sobre o assunto, veja a aula https://cursos.alura.com.br/course/primeiros-passos-com-java/section/6/task/1
Você poderia simplesmente criar um construtor recebendo todos os parâmetros que irão preencher os atributos de sua classe, isso poderia substituir a função do set
porém apenas no momento em que está instanciando um novo objeto.
Para que possa manipular os dados de um objeto já instanciado é necessário utilizar os getters and setters
de todos os atributos de sua classe.