Buscar

aula_5_conceitos_oo

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Prof. Ramon Pontes
Paradigma Orientado a Objetos
1
Paradigma Orientado a Objetos
Paradigma Tradicional x Orientado a Objetos 
Conceitos Básicos
Abstração
Encapsulamento
Classes
Objetos
Relação Classe x Objetos
Atributos
Métodos
Herança
Polimorfismo
Modularidade
Referências
G
u
ia
 m
a
rg
e
m
: 
 s
to
ry
lin
e
 /
 í
n
d
ic
e
Programação Orientada a Objetos
2
 A ideia é:
- Solucionar problemas existentes no desenvolvimento de
Softwares Complexos com baixo custo de desenvolvimento
e manutenção
- O Mundo Real é formado por objetos que se interagem
Programação Orientada a Objetos
3
Paradigma Orientado a Objetos
Paradigma Tradicional x Orientado a Objetos 
Conceitos Básicos
Abstração
Encapsulamento
Classes
Objetos
Relação Classe x Objetos
Atributos
Métodos
Herança
Polimorfismo
Modularidade
Referências
G
u
ia
 m
a
rg
e
m
: 
 s
to
ry
lin
e
 /
 í
n
d
ic
e
Programação Orientada a Objetos
4
Paradigma Tradicional x Orientado a Objetos
Procedure A
Procedure B
Procedure C
Dados
Dados
Métodos
Dados
Métodos
Dados
Métodos
Objeto A Objeto B
Objeto C
Dados
Programação Orientada a Objetos
5
Aplicação
Incluir
Funcionário
Incluir Projeto
Incluir
Departamento
Programação Orientada a Objetos
Paradigma Tradicional x Orientado a Objetos
6
Paradigma Orientado a Objetos
Paradigma Tradicional x Orientado a Objetos 
Conceitos Básicos
Abstração
Encapsulamento
Classes
Objetos
Relação Classe x Objetos
Atributos
Métodos
Herança
Polimorfismo
Modularidade
Referências
G
u
ia
 m
a
rg
e
m
: 
 s
to
ry
lin
e
 /
 í
n
d
ic
e
Programação Orientada a Objetos
7
 É o processo de identificação dos objetos e seus
relacionamentos
 Permite ao analista se concentrar no que um objeto é ou no
que um objeto faz.
 Não se preocupa como o objeto vai fazer
 É um processo de generalização onde o objetivo é manter
informações relevantes
Conceitos Básicos – Abstração 
Programação Orientada a Objetos
8
Conceitos Básicos – Abstração 
public class Cachorro{
String nome;
String raca;
}
public class Carro{
String marca;
String placa;
}
public class Casa{
int qtComodos;
double valor;
String endereco;
}
Programação Orientada a Objetos
9
Conceitos Básicos – Abstração 
Programação Orientada a Objetos
10
Conceitos Básicos – Abstração 
Programação Orientada a Objetos
11
Conceitos Básicos – Abstração 
Carro
Casa
Cachorro
Programação Orientada a Objetos
12
Conceitos Básicos – Encapsulamento 
 A maioria dos objetos que utilizamos são encapsulados.
- Exemplo: Sua máquina fotográfica.
- Ela tem um conjunto de teclas que lhe permite
manipular os atributos do objeto máquina fotográfica
que são do seu interesse.
• Ligar
• Desligar
• Zoom
• Brilho/Contraste
• Flash
• Resolução
Programação Orientada a Objetos
13
Conceitos Básicos – Encapsulamento 
 Porém…
- Você sabe que o funcionamento de uma máquina digital é
extremamente complexa e que ao mudar um atributo
desses que citamos, uma série de informações são
processadas.
• Circuitos Integrados
• Capacitores
• Resistores
Programação Orientada a Objetos
14
Conceitos Básicos – Encapsulamento 
 Como definir encapsulamento diante desse exemplo???
 O encapsulamento separa o que é visível, ou seja, o que é
público do que é oculto, ou seja, privado/protegido
- Outro exemplo: No seu computador o que importa é:
• Monitor
• Teclado
• DVD
• WebCam
• Mouse
• Gabinete
Programação Orientada a Objetos
15
Conceitos Básicos – Encapsulamento 
 Para análise orientada a objetos, encapsulamento é o ato de
esconder do usuário informações que não são do seu
interesse
 Geralmente não interessa a quem usa o objeto conhecer os
detalhes da implementação.
 A classe comporta-se como uma caixa-preta
- Não é necessário conhecer como funciona internamente.
Programação Orientada a Objetos
16
Conceitos Básicos – Encapsulamento 
 Vantagem
- Na necessidade de se modificar um programa existente
- Pressman (2002): Reduz a propagação de efeitos
colaterais quando ocorrem modificações
- Parga (2006): como consequência do encapsulamento
temos uma diminuição considerável do nível de
acoplamento entre as classes que fazem parte do sistema
Programação Orientada a Objetos
17
Conceitos Básicos – Classe 
 Descreve um grupo de objetos com os mesmos atributos e
comportamentos, além dos mesmos relacionamentos com
outros objetos.
- Animais: Aves, Mamíferos, Répteis…
- Relógio: Digital, Analógicos
 Descreve a forma do objeto
 É um molde para criação de um objeto. É a receita…
 Tipo definido pelo usuário
Programação Orientada a Objetos
18
Conceitos Básicos – Classe 
 Exemplo:
Programação Orientada a Objetos
19
Conceitos Básicos – Objetos 
 Cada objeto pertence a uma classe que define suas
características e seu comportamento
- Classe: Molde
- Objeto: Concretização
Programação Orientada a Objetos
20
Conceitos Básicos – Objetos
 Os objetos podem estar relacionados entre si ou com outros
objetos
 Exemplo:
- Um carro pertençe a uma pessoa
Programação Orientada a Objetos
21
Conceitos Básicos – Relação Classe x Objetos
 Todo objeto é a concretização de uma classe. Ou seja, é uma
instância de uma classe
 Cada instância tem valores específicos para seus atributos
diferenciando-as.
 Exemplo:
Programação Orientada a Objetos
22
Conceitos Básicos – Relação Classe x Objetos
Classe
Objetos
Programação Orientada a Objetos
23
Conceitos Básicos – Atributos 
 Os atributos são utilizados para diferenciar os objetos e para
identificar o estado do objeto
 Os atributos definem:
- Propriedades e características de um objeto
- Estado do Objeto
 Exemplo:
- Um carro tem uma marca e uma placa
Programação Orientada a Objetos
24
Conceitos Básicos – Métodos 
 Os métodos estão relacionados com o comportamento dos
objetos.
 Exemplo:
- Todo carro pode ligar
- Todo carro pode andar
- Todo carro pode freiar
Programação Orientada a Objetos
25
Conceitos Básicos – Métodos 
 Na análise orientada a objeto, as funções, operações e os
comportamentos dos objetos são descritos pelos métodos, os
quais também servem para manipular e alterar os atributos do
objeto (alteram o estado do objeto)
 Também é correto afirmar que um método é uma operação
realizada sobre um objeto e é descrito por uma classe. Um
método é a implementação de uma operação.
 Elementos:
- Nome
- Retorno
- Parâmetros
Programação Orientada a Objetos
26
Conceitos Básicos – Herança
 É um mecanismo que permite definir uma nova classe
(subclasse) a partir de uma classe já existente.
 A herança poderá ser utilizada sempre que dois “tipos”
passarem no teste “é um”
 Possibilita reuso e extensibilidade
 Comportamento:
- Ao espabelecer uma herança, a subclasse “herda” as
características comuns de sua superclasse
- A classe filha (subclasse) também poderá definir novos
métodos e atributos
Programação Orientada a Objetos
27
Conceitos Básicos – Herança
Animal
Réptil
Crocodilo
Mamífero
Vaca
Cachorro
Anfíbio
Sapo
superclasse
subclasse
subclasse
subclasse
Programação Orientada a Objetos
28
Conceitos Básicos – Tipos de Herança
 Herança Simples
- Quando uma classe herda as propriedades de uma única
classe pai
- A classe filha (subclasse) também poderá definir novos
métodos e atributos
 Herança Múltipla
- Quando uma classe herda as propriedades de mais de
uma única classe pai.
- Ex: muitas vezes dizemos que um menino herdou o jeito
engraçado do tio e é estudioso como o pai, ou seja, o
menino herdou características comportamentais de mais
de uma pessoa.
Obs: Herança múltipla é utilizada em C++. Não é possível utlizar
em Java
Programação Orientada a Objetos
29
Conceitos Básicos – Herança
Programação Orientada a Objetos
30
Conceitos Básicos – Polimorfismo
 A palavra polimorfismo significa muitas formas e representa o
fato de uma determinada característica (por exemplo, a
potência do motordo veículo) ser diferente para cada filho
(tipo de veículo). Quem já andou de Volks e de Mercedes
sabe bem a diferença.
 Para a AOO, polimorfismo é a capacidade de objetos de
classes diferentes responderem a uma mesma solicitação de
maneiras diferentes.
Programação Orientada a Objetos
31
Conceitos Básicos – Polimorfismo
Programação Orientada a Objetos
32
Conceitos Básicos – Modularidade
 É a decomposição de um problema complexo em problemas
menores e mais simples
 É a idéia de “dividir para conquistar”
 Para Booch (1994), modularidade “é a propriedade de um
sistema ser decomposto em um conjunto de módulos”
Programação Orientada a Objetos
33
Paradigma Orientado a Objetos
Paradigma Tradicional x Orientado a Objetos 
Conceitos Básicos
Abstração
Encapsulamento
Classes
Objetos
Relação Classe x Objetos
Atributos
Métodos
Herança
Polimorfismo
Modularidade
Referências
G
u
ia
 m
a
rg
e
m
: 
 s
to
ry
lin
e
 /
 í
n
d
ic
e
Programação Orientada a Objetos
34
 Sommerville, I. Software Engineering.
 Kruchten, P. The Rational Unified Process: An Introduction. 2nd 
Ed
 Booch, G. et al. The Unified Modeling Language User Guide.
 Pressman, R. S. (2002). Engenharia de Software. MCGraw Hill, 
Rio de Janeiro, 5 edition.
Referências
Programação Orientada a Objetos
35

Outros materiais