Escolar Documentos
Profissional Documentos
Cultura Documentos
11/08/2002
Bibliografia
Introduo
11/08/2002
11/08/2002
O que voc v ?
Gap Semntico
Espao de problema
Espao de soluo
Carro
11/08/2002
11
11/08/2002
12
Modelo Conceitual
Tradicionalmente
Paradigma OO
Softwares so formados, principalmente, por:
Objetos
Mensagens.
11/08/2002
13
Abstraes e Representaes
11/08/2002
14
Processo de Abstrao
Casa
11/08/2002
Classificao
15
11/08/2002
Processo de Abstrao
Processo de Abstrao
Generalizao (Especializao)
16
11/08/2002
17
11/08/2002
18
Processo de Abstrao
Generalizao
Processo de Abstrao
Agregao / Decomposio
Portas
Telhado
Janelas
Decomposio de uma
categoria agregada em
outras categorias atmicas.
Casa de campo
Especializao
Residencial
Casa de praia
11/08/2002
19
11/08/2002
11/08/2002
21
O que so Objetos ?
11/08/2002
Qual seu
nome?
22
O que so Objetos ?
Como o objeto receptor interpreta as
mensagens enviadas por outro objeto?
Como as mensagens so processadas
pelo objeto?
11/08/2002
Mensagens
O que so Objetos ?
Mensagens
O que so Objetos ?
20
Meu
Mrio.
23
11/08/2002
24
O que so Atributos ?
O que so Atributos ?
Classe
Monitor
Polegadas
Contraste
Brilho
SetPolegadas
Operaes GetPolegadas
SetContraste
GetContraste
Atributos
11/08/2002
DAEWOOD
SAMSUNG
SAMSUNG
SAMSUNG
SAMSUNG
15 polegadas
65
54
14 polegadas
polegadas
14
14
polegadas
14
65polegadas
65
65
65
55
55
55
55
Objetos
25
11/08/2002
O que so mtodos ?
O que Mensagem ?
11/08/2002
27
26
11/08/2002
28
O que so mtodos ?
O que so mtodos ?
11/08/2002
29
11/08/2002
30
O que encapsulamento ?
Problema:
O que fazer quando o programa atinge
milhares de linhas de cdigo ? Programas
extensos ...
... dificultam a organizao do cdigo;
... aumentam custo na compilao do
programa.
31
11/08/2002
O que encapsulamento ?
O que encapsulamento ?
11/08/2002
33
11/08/2002
O que encapsulamento ?
O que encapsulamento ?
11/08/2002
35
11/08/2002
32
34
36
O que encapsulamento ?
O que encapsulamento ?
Objeto
Objeto
Mensagem 1
Mtodo 1
Mensagem 2
Mtodo 2
Mensagem 2
Mtodo 3
Dado 1
Dado 2
Dado 3
Dado 4
Dado 5
Dado 6
Dado 7
Mensagem 1
Mtodo 1
Mensagem 2
Mtodo 2
Mensagem 2
Mtodo 3
Interface
11/08/2002
Dado 1
Dado 2
Dado 3
Dado 4
Dado 5
Dado 6
Dado 7
Interface
37
11/08/2002
38
O que encapsulamento ?
O que encapsulamento ?
11/08/2002
39
11/08/2002
O que Visibilidade ?
O que Visibilidade ?
11/08/2002
41
40
11/08/2002
42
O que Visibilidade ?
O que polimorfismo ?
Atributos:
Operaes:
Pblicas (interface);
Privadas (internas classe).
Classe
Operaes
Dados
11/08/2002
43
O que polimorfismo ?
11/08/2002
44
O que Herana ?
Problema:
Par
11/08/2002
45
O que Herana ?
46
O que Herana ?
Mecanismo que permite definir uma nova classe
(subclasse) a partir de uma classe j existente
(superclasse).
Ao se estabelecer uma Especializao (subclasse) de
uma classe, a subclasse herda as caractersticas
comuns da superclasse, isto , a especificao dos
atributos e dos mtodos da superclasse passam a
fazer parte da especificao dos atributos e dos
mtodos da subclasse.
A subclasse pode adicionar novos mtodos e/ou
atributos, como tambm reescrever (sobrepor)
mtodos herdados.
Para construir B
preciso reutilizar
apenas A1?
Como realizar
pequenas
modificaes em I1
para reutilizar em B ?
Mdulo A
Varivel A1
Varivel A2
Instruo I1
Mdulo B
????
11/08/2002
11/08/2002
47
11/08/2002
48
O que Herana ?
O que Herana ?
Cobertura da herana:
11/08/2002
Total/Exclusiva:
Parcial:
Sobreposio:
49
O que Herana ?
Fsica
ou
Classe abstrata
Jurdica
Classe concreta
Parcial
Sobreposio
Funcionrio
ou
Pessoa
Aluno
11/08/2002
Professor
ou
Horista
ou
Terceirizado
51
11/08/2002
Categorizao em Classes
Operao
Operao (Mtodo)
52
11/08/2002
50
Forjar Classes
Exclusiva
Pessoa
11/08/2002
Classe
53
11/08/2002
54
Mtodos Construtores
Mtodos Destrutores
55
11/08/2002
Agregao / Composio
Classes Abstratas
11/08/2002
57
Classes Concretas
As classes da qual os objetos podem ser
instanciados so chamadas classes concretas.
11/08/2002
Polimorfismo
Sobreposio de Mtodos
11/08/2002
59
56
11/08/2002
58
60
Mtodos Abstratos
Permite determinar os mtodos que podero
ser implementados em classes descendentes,
porm sem implement-los na superclasse.
Padroniza a interface das classes determinando
os servios que podero ser implementados
pelas subclasses.
Um mtodo abstrato um mtodo virtual que
no implementado na classe onde ele
declarado. Sua implementao realizada em
classes descendentes (subclasse).
11/08/2002
61