Please enable JavaScript.
Coggle requires JavaScript to display documents.
ORIENTAÇÃO A OBJETOS (ABSTRAÇÃO (É a subtração de detalhes, Focar nos…
ORIENTAÇÃO A OBJETOS
-
OBJETOS
-
Componentes do Objeto:
- Identidade: é o que torna um objeto único. Distingui um do outro.
- Estado: o estado de um objeto em um determinado momento. São seus atributos
- Comportamento: como os objetos reagem a troca de mensagens. São os métodos e procedimentos
PILARES DA OO
- Encapsulamento
- Herança
- Polimorfismo
- Composição
ABSTRAÇÃO
-
Focar nos pontos essenciais, diminuindo assim a complexidade
Podemos ter classes abstratas, que são templates para as classe concretas. São usadas para serem herdadas e funcionam como uma superclasse
Podemos ter também métodos abstratos, aqueles em que não é definido uma forma de implementação que devem existir em classes abstratas. As classes abstratas devem possuir pelo menos um método abstrato
Interfaces: são similares as classes abstratas. Não possuem atributos, apenas métodos abstratos
ENCAPSULAMENTO
-
o remetente da mensagem não precisa saber a forma como a operação é realizada, epenas quais operações o receptor sabe realizar
Existem os modificadores/especificadores dos métodos:
- Private (-)
- Protegido (#)
- Público (+)
- Pacote (~)
POLIMORFISMO
-
É a capacidade de duas ou mais classes de objetos responderem à mesma mensagem, cada qual de seu próprio modo.
O Polimorfismo pode ser:
- Estático: polimorfismo por sobrecarga ou overloading. O método é igual mas os parâmetros são diferentes. A decisão é tomada no momento da passagem dos parâmetros
- Dinâmico: polimorfismo por sobrescrita, inclusão, herança ou overriding. Os métodos e parâmetros são iguais em todos os objetos (quantidade, tipo, etc..). A implementação definirá o que será feito. Tempo de Execução.
HERANÇA
-
-
-
Quando uma subclasse herda diretamente de duas ou mais classes (Superclasses) trata-se de Herança Múltipla.
:explode: Importantíssimo!!
Em OO é permitido herança múltipla. Em java não, mas no paradigma OO é totalmente possível.
-
:explode: Atributos podem ser de Classe (atributo comum a todos os objetos instanciados da : classe) ou de Instâncias (atributos de uma instância específica de objeto).
:explode: Métodos são as operações que um objeto executa. Também são subdivididos em métodos de classes e métodos de instâncias.