Orientacao a Objetos
76 pág.

Orientacao a Objetos


DisciplinaProgramação Orientada A Objetos3.315 materiais50.700 seguidores
Pré-visualização3 páginas
características externas estamos 
fazendo uma abstração pois uma série de detalhes 
internos não estarão sendo descritos.
Abstração
61
\uf097 Ex: Ao modelarmos um objeto avião no contexto 
de um sistema de marcação de passagens aéreas, 
não vai nos interessar a característica número de 
turbinas do avião, mas irá nos interessar a 
característica número de assentos disponíveis
\uf097 Ao ignorarmos algumas características não 
relevantes em um determinado contexto, estamos 
fazendo uma abstração
Encapsulamento
62
\uf097 É o processo de ocultação das características 
internas do objeto 
\uf097O encapsulamento cuida para que certas 
características não possam ser vistas ou 
modificadas externamente
Encapsulamento
63
\uf097 Exemplo 
\uf097Podemos dizer que o motor de um automóvel 
está encapsulado, pois normalmente não 
podemos ver ou alterar características do motor 
\uf097Podemos então utilizar um automóvel sem 
conhecer nada das complexidades do motor, 
que estão encapsuladas
Encapsulamento
64
\uf097 No contexto de uma linguagem OO um objeto pode 
ser definido como um conjunto de "funções\u201c unidas 
aos dados que elas necessitam
\uf097 O encapsulamento "protege" os dados que estão 
"dentro" dos objetos, evitando assim que os mesmos 
sejam alterados erroneamente 
\uf097 Os dados só poderão ser alterados pelas "funções\u201d 
dos prórpios objetos 
\uf097 As "funções" dos objetos são chamadas de operações 
ou métodos
Encapsulamento
65
Polimorfismo
66
\uf097 É a capacidade de objetos diferentes reagirem 
segundo a sua função a uma ordem padrão. 
\uf097O comando "abre", por exemplo, faz um objeto 
entrar em ação, seja ele uma janela, uma porta ou 
uma tampa de garrafa
Polimorfismo
67
Polimorfismo e Herança
68
\uf097 Uma superclasse Conta Comum define um 
método saque
\uf097 Uma subclasse de Conta Comum, Conta especial 
define um método saque
\uf097Os dois tem a mesma assinatura e parâmetros
\uf097 Pelo polimorfismo, um objeto Conta Especial 
chamará o método mais \u201cpróximo\u201d na hierarquia
Polimorfismo
69
\uf097 Sobrecarga
\uf097Através do mecanismo de sobrecarga, dois 
métodos de uma classe podem ter o mesmo 
nome, desde que suas assinaturas sejam 
diferentes.
\uf097Tal situação não gera conflito pois o compilador 
é capaz de detectar qual método deve ser 
escolhido a partir da análise dos argumentos do 
método.
Persistência
70
\uf097 Refere-se à habilidade de um objeto existir além da 
execução que o criou, ou seja, ser armazenado em 
memória secundária (permanente ou persistente).
\uf097 Não é o armazenamento apenas dos atributos 
(dados), mas também dos métodos para realizar os 
acessos.
\uf097 Muito encontrado em sistemas que manipulam banco 
de dados
\uf097Hibernate
Porque utilizar OO?
71
\uf097 Quando bem empregada, a Orientação a Objetos traz 
diversas vantagens:
\uf097 reutilização,
\uf097 confiabilidade,
\uf097modelo de sistema mais realístico,
\uf097 facilidade de interoperabilidade e de manutenção,
\uf097 aumento da qualidade,
\uf097maior produtividade
\uf097 unificação do paradigma (da análise a implementação).
\uf097 A Orientação a Objetos é um paradigma que pode ser 
aplicado ao longo de todo o processo de construção do 
software.
Unifield Modeling Language (UML)
72
\uf097 UML é uma linguagem para especificação, 
construção, visualização e documentação de 
sistemas de software.
\uf097UML não é uma metodologia não diz quem 
deve fazer o quê, quando e como UML pode ser 
usado segundo diferentes metodologias, tais 
como RUP (Rational Unified Process), FDD 
(Feature Driven Development), etc.
\uf097UML não é uma linguagem de programação
Unifield Modeling Language (UML)
73
\uf097 Modelos e Diagramas
\uf097Um modelo é uma representação em pequena escala, 
numa perspectiva particular, de um sistema existente ou 
a criar
\uf097 Ao longo do ciclo de vida de um sistema são construídos 
vários modelos, sucessivamente refinados e enriquecidos
\uf097 Um modelo é constituído por um conjunto de diagramas 
(desenhos) consistentes entre si, acompanhados de 
descrições textuais dos elementos que aparecem nos vários 
diagramas
Unifield Modeling Language (UML)
74
\uf097 Um diagrama é uma vista sobre um modelo. 
\uf097O mesmo elemento (exemplo: classe) pode 
aparecer em vários diagramas de um modelo 
\uf097 No UML, há nove diagramas padrões:
\uf097Casos de uso (use case), classes, objectos, 
componentes, distribuição 
\uf097Sequência, colaboração, estados (statechart), 
atividades
Unifield Modeling Language (UML)
75
Bibliografia
76
\uf097 Notas de Aula - Maurício de Castro: Apostila Java 
\u2013 OO
\uf097 Deitel, Java Como Programar