Programação Orientada a Objeto

Plan your projects and define important tasks and actions

Get Started. It's Free
or sign up with your email address
Programação Orientada a Objeto by Mind Map: Programação Orientada a Objeto

1. conceituação

1.1. Representa o mundo real como um conjunto de objetos que interagem entre si em pró de algo

1.2. Paradigmas

1.2.1. estruturado

1.2.1.1. foco nas funções

1.2.2. Orientado a objeto

1.2.2.1. foco nos objeto

1.3. Abstração

1.3.1. Extrair o essencial de um objeto

1.3.1.1. aspectos relevante

1.3.1.2. aspectos irrelevantes

1.4. Ecapsulamento

1.4.1. juntar tudo de forma que fique o mais isolado possivel

1.5. Polimorfismo

1.5.1. muitas formas, onde filho herda e altera os métodos

1.5.2. possibilita a variação de formas do objeto podendo assumir diversas formas

1.5.3. Sobrecarga de Método

1.5.3.1. distintos parâmetros de entrada

1.5.4. Sobrescrita de Método

1.5.4.1. mesmo método, argumento e nome, porém com funcionamento diferente

1.6. Objeto(instancia da classe)

1.6.1. Identidade

1.6.1.1. Característica unica - nome

1.6.2. Estado

1.6.2.1. atributos

1.6.3. Comportamento

1.6.3.1. funções

1.7. Classes

1.7.1. conjunto de objetos com estados semelhantes

1.8. Encapsulamento

1.8.1. Deixar evidente apenas o necessário escondendo assim sua complexidade

1.8.2. Controle de acesso aos atributos e métodos da classe

1.8.3. atributos publico NÃO são recomendados

1.8.4. torna o sistema mais independênte

2. Associações

2.1. Smples

2.1.1. conexão simples entre duas classes

2.2. Agregação

2.2.1. uma classe como parte de outra (depend. fraca)

2.2.2. Divisíveis

2.2.3. multiplicidade > 1

2.3. Composição

2.3.1. uma classe como SOMENTE parte de outra exclusivamente (depend. forte)

2.3.2. não divisíveis

2.3.3. ciclo de vida das Partes atrelado ao Todo

2.3.4. multiplicidade do Todo: 1 ou 0...1

2.4. generalização/especialização (Herança)

2.4.1. uma super classe que contem os atributos e métodos em comum de outras que herdam dela

2.4.2. filho herda do pai suas características

2.4.3. simbolo: seta não preenchida

2.4.4. vantagens

2.4.4.1. reuso de código

2.4.4.2. eliminação de redundancias

2.4.4.3. código mais legível

3. Visibilidade

3.1. Publico

3.1.1. acessível para todo o sistema

3.2. Privado

3.2.1. acessível somente dentro da classe

3.3. # Protegido

3.3.1. acessível apenas para a classe e suas sub-classes

3.4. ~ Pacote

3.4.1. acessível a classes do mesmo pacote

4. Interface

4.1. manipulado pelos métodos de acesso

4.2. mensagem

4.2.1. Solicita uma colaboração para realizar certa tarefa com ou sem parâmetros

4.2.2. uma mensagem enviada pode ser respondida

4.2.3. composição

4.2.3.1. nome

4.2.3.2. parâmetros