Introducción al lenguajes de programación Kotlin (Orientado a POO)Descripción completa
Modificadores de Acesso • default (acesso padrão) – são acessíveis somente aos métodos internos da classe e às subclasses. String nome;
• protected (acesso protegido) – com este modificador, permite acesso aos atributos e métodos da classe, através de classes do mesmo pacote. protected String nome;
Encapsulamento É a maneira de como ocultar determinados elementos (atributos e métodos) de uma classe das demais classes. public class Conta{ private Cliente cli; private int numConta; private int numAg; private double saldo; }
Encapsulamento Mas qual importância de encapsular? É importante encapsular, para que seu sistema esteja pronto a mudanças. E como os dados serão acessados? A forma de se comunicar com a classe é através de métodos públicos. O conjunto de métodos públicos de uma classe é também chamado de interface da classe, pois esta, é a única maneira a qual você se comunica com objetos dessa classe, haja visto que os atributos estão ocultos.
Getters e Setters Os métodos get e set são por convenção a forma de acessar os atributos ocultos da classe. Portanto se for necessário acessar ou atribuir informação a um atributo oculto usa-se get ou set.
Método Get O método get é usado quando se quer saber qual a informação contida no atributo especificado. Seu cabeçalho é: public tipoRetorno getNomeAtributo() public int getNumConta(){ return this.numConta; }
Método Set O método set é usado quando se quer atribuir uma informação ao atributo especificado. Seu cabeçalho é: public void setNomeAtributo(tipoParametro nomeParametro) public void setNumConta(int num){ this.numConta=num; }
Getters e Setters Nem sempre um atributo privado vai ter get e set obrigatóriamente. Atenção:
Na classe Conta por exemplo o atributo privado saldo não necessita de get e set por quê?
Construtor Atenção! Construtor não é um método especial. Apesar de alguns autores descrever assim, e ter a aparência de um método, não é um método especial. O que é então? Pode-se definir que construtor é um inicializador do objeto pois uma vez que o objeto é criado o primeiro a ser acionado é o construtor.
Construtor A estrutura de um construtor é: public nomeDaClasse(parametros se necessário){ //corpo do construtor; }
Usando a classe Conta e criando um construtor passando parâmetro numAg e numConta: public Conta(int numeroAg,int numeroConta){ this.numAg=numeroAg; this.numConta=numeroConta; }
Construtor Não é obrigado a passar nenhum parâmetro, como em outro exemplo: public Conta(){ System.out.println("Criando nova conta"); }
Portanto neste exemplo, sempre que for criado um novo objeto Conta, será mostrada a informação “Criando nova conta”. Nos exercícios até aqui sempre teve um construtor em cada objeto criado, é o chamado construtor default (padrão).
Construtor O construtor padrão da classe Conta é escrito desta forma: public Conta(){ }
É somente isto. Sempre que é criado o objeto, o construtor default está lá, mesmo se não estiver sido criado.
Construtor O construtor obriga que informações importantes sejam passadas no momento da criação do objeto. Conta c = new Conta(123, 23456);
Para o objeto Conta já está sendo informado o numero da agencia e conta, contribuindo para reforçar o encapsulamento.
Construtor informações importantes: • o construtor tem que ser declarado com mesmo nome da classe. • sempre que o new é chamado, o construtor é executado. • construtores não são métodos, uma vez que não retornam valor e não podem ser chamados novamente, somente no momento em que é criado o objeto .