Java orientação a objetos
1. Classe:
Uma classe é um elemento do código Java que utilizamos para representar
objetos do mundo real. Dentro dela é comum declararmos atributos e
métodos, que representam, respectivamente, as características e
comportamentos desse objeto.
Ex: Classe carro
Os atributos serão:
● Cor
● Marca
● Modelo
● Número de passageiros
Os métodos:
● Métodos simples;
● Métodos com return: O comando return é utilizado para passar o valor
requerido de volta para quem chamou o método e é obrigatório quando
o tipo de retorno não é [Link] o comando é encontrado, o método
termina sua execução imediatamente, ignorando todas as instruções
subsequentes.
● Métodos com parâmetros;
2. Objetos:
● São instâncias da classe, ou seja, a manifestação de algo abstrato em algo
concreto;
3. Construtores
● O construtor é criado para iniciar um objeto derivado de uma classe;
● Não possui retorno;
● A função dele é possibilitar ou obrigar o usuário de uma classe a passar
argumentos para o objeto durante sua criação;
4. Operador This:
● Referenciar uma variável de instância da classe de forma não ambíguas;
● Usar como argumento um método de outra classe que vai chamar quando
deseja passar o próprio objeto atual. Isso é útil quando você não tem ou
não pode passar uma variável específica como argumento, a intenção é
passar o próprio objeto;
● Acessar uma instância dentro de uma classe interna;
● Chamar um construtor do próprio objeto;
5. Private e public;
● Private: A única classe que tem acesso ao atributo é a própria classe que
o define, ou seja, se uma classe Pessoa declara um atributo privado
chamado nome, somente a classe Pessoa terá acesso a ele;
● Public: Esse é fácil, todos têm acesso;
● O nível de visibilidade envolve encapsulamento. É sempre dito como boa
prática que atributos internos devem ser privados, pois classes externas
nem devem saber que ele existe. O que a classe expõe são suas
funcionalidades, sua API, se preferir. Expor atributos internos pode causar
sérios problemas de segurança. Se tem algo que é inerente à
implementação, que pode vir a mudar no futuro, provavelmente deve ser
privado;
6. Encapsulamento
● O Encapsulamento serve para controlar o acesso aos atributos e métodos de
uma classe;
● É uma forma eficiente de proteger os dados manipulados dentro da classe,
além de determinar onde esta classe poderá ser manipulada;
● Então para ter um método encapsulado utilizamos um modificador de acesso
que geralmente é public, além do tipo de retorno dele. Para se ter acesso a
algum atributo ou método que esteja encapsulado utiliza-se o conceito de get e
set. Por definição, com SET define o valor que algum atributo deve ter. E com
GET é possível recuperar esse valor.
7. Get e set - assessores em java:
● Porém, existe uma regra bastante clara sobre essas classes públicas,
devemos sempre fornecer campos privados métodos Acessores
(getters) públicos, e caso a classe seja mutável devemos também
fornecer os métodos modificadores (setters);
8. Variáveis e método static
● Os métodos static ou métodos da classe são funções que não
dependem de nenhuma variável de instância, quando invocados
executam uma função sem a dependência do conteúdo de um objeto
ou a execução da instância de uma classe, conseguindo chamar direto
qualquer método da classe e também manipulando alguns campos da
classe;
● Os métodos static tem um relacionamento com uma classe como um
todo, enquanto os métodos que não são static são associados a uma
instância de classe específica (objeto) e podem manipular as variáveis
de instância do objeto;
9. Métodos recursivos
● Método que chama ele mesmo;
● Precisa de um ponto de parada;
10.