Você está na página 1de 2

OO – orientado a objetos

O estado de um objeto – é o significado das combinado das variáveis internas do objeto


Uma variável interna – é um valor mantido dentro de um objeto
A implementação – define como algo, é feito é o codigo
O domínio – é o espaço onde o problema reside
Um objeto – é uma construção de software que encapsula estado e comportamento, modela o software em termos reais de abstração (um objeto - é uma instancia de uma classe ).

Classe – define os atributos e comportamentos comuns compartilhados por um tipo de objeto


Atributos – são características de uma classe visíveis externamente ex: cor dos olhos
Corportamento – é uma ação executada por um objeto

TAD – Tipos Abstratos de Dados


Tipo – definem as diferentes espécies de valores que você pode usar em seu programa. Um tipo define o domínio a partir do qual seus valores podem ser extraídos
Abstração – Extrai características especiais de um objeto real. O conjunto resultante da abstração forma um TAD com informações sobre seu estado e comportamento.
É o processo de simplificar um problema difícil. Você não se preocupa com cada detalhe

Uma linguagem orientada a objetos PURA – suporta a noção que tudo é um objeto
Uma linguagem orientada a objetos – Não considera tudo um objeto
Um objeto imutável – é aquele cujo estado não muda

Construtores – são métodos usados para inicializar objetos durante a sua instanciação, operador new (Norgs – sem argumentos) e Com argumentos.
Definir um conjunto de comandos que será executado quando a classe onde foi declarada for instanciada
Destrutores – ou finalizador é um método executado quando o objeto é deslocado na memória.
 Apaga arquivos temporários criados durante o ciclo de vida do objeto
 Finaliza conexões

Acessores – dão acesso aos dados internos do objeto oculta o fato dos dados estarem em uma variavel (tem efeitos colaterais sobre o estado interno)
Mutantes – Permite que você altere o estado interno do objeto

Mensagem – os objetos se comunicam através de mensagens. Faz com que o objeto realiza algo.
Delegação – é o processo de um objeto passar uma mensagem para outro objeto, para atender algum pedido.
Especialização – é o processo de uma class filha ser projetada em termos de como ela e diferente de sua progenitora, depois de feita a classe incluirá apenas o que a torna diferente
Programação por diferença – é herdar uma classe e adicionar apena o código que torne a classe direfente da classe herdada

Vantagens da POO: NECROM Os três pilares da POO:


 Natural Emcapsulamento
 Confiável Herança
 Reutilizável Polimorfismo
 Manutenível
 Extensível
 Oportuno
Emcapsulamento – Ocultar partes independentes da implementação palavra reservada (private)
O encapsulamento efetivo – é a abstração mais ocultação da implementação mais responsabilidade
 Transforma seus componentes em componentes plugaveis
 Independência ou seja pode ser usado o objeto em qualquer parte
 Torna Transparentes as alterações em seu objeto
 Não causa efeitos colaterais inesperados entre o objeto e o restante do programa
As 3 características do encapsulamento
Abstração
Ocultação da implementação
Divisão da responsabilidade

Herança – é o mecanismo que permite você criar uma nova classe na definição de uma classe previamente existente
“é um” – descreve o relacionamento em que uma classe é considerada do mesmo tipo da outra
Um Subtipo – é um tipo que estende outro tipo através da herança
Uma Hierarquia de Herança é um mapeamento do tipo arvore de relacionamento que se formam entre classes como resultadas da herança

Polimorfismo – ter muitas formas um único nome pode ter comportamentos diferentes
Uma linguagem que suporta polimorfismo é uma linguagem polimorfica (personalites é exemplo de uma variável polimorfica)

Polimorfismo de inclusão – ou chamado de puro permite que você trate objetos relacionados genericamente, (diminui a quantidade de código).
Polimorfismo paramétrico – Permite que você crie métodos e tipos genéricos
Polimorfismo de sobrecarga (estático/ ad hoc) – tem o mesmo nome de método com assinaturas (parâmetros) diferentes a mesma operação pode ser implementada 2x mesma
classe, usa o mesmo nome de método para métodos diferentes cada método difere apenas no numero e no tipos de seus parâmetros
Polimorfismo de sobreposição(dinâmico) – uma filha pega um método que tem na progenitora e reescreve para mudar o comportamento do método (chamado de redefinição de um
método) ou seja altera seu método e mantém a mesma assinatura (parâmetro)

Implementação – define como um componente realmente fornece serviço. Define os detalhes internos do componente.
Interface – lista os serviços fornecidos por um componente. A interface é um contato com o exterior, que define exatamente o que uma entidade externa pode fazer com o objeto
- É o painel de controle do objeto.
Os 3 níveis de acesso a POO:
+ publico – garante acesso a todos os objetos
# protegido – garante acesso ao objeto e as subclasses
- privado – garante acesso apenas para aquele objeto

~ Pacote – Contem outro objeto ou primitiva


<< >> esteriótipo (amplia o vocabulário da própria linguagem)
UML – é uma metodologia que traz as copias heliográficas para o mundo, são notações gráficas que usa para descrever a arquitetura do software
Relacionamentos – descreve como as classes interagem entre si. É uma conexão entre 2 ou mais elementos
São 3 tipos de Alto nível de relacionamento (DAG)
 Dependência – um objeto e dependente da especificação do outro
 Associação – um objeto contem ou esta conectado a outro __________
 Generalização – Relacionamento entre o geral e o especifico, pode substituir uma classe filha pela sua progenitora. - - - - - - - -
Agregação – modela um relacionamento tem um (ou parte de) entre pares. Uns objetos contem outro. Pares significam q um objeto não é mais importante q o outro (◊)
Composição – não é um relacionamento entre pares. Objetos não são independentes uns dos outros (♦)

1 – Classe abstrata - Nunca será instanciada na forma de objeto


2 – Classe final - Não pode ser uma superclasse
3 – Método Abstrato - Devera conter uma implementação na classe – filha
4 – Método final - Não pode ser sobrescrito ou seja não pode ser redefinido na classe – filha