Escolar Documentos
Profissional Documentos
Cultura Documentos
5udo , um objeto.
Objeto 6 super (ari7(el8 arma.ena dados, mas se
pode fa.er re'uisi9es a esse objeto, pedindo 'ue ele
faa opera9es sobre si pr#prio.
:m teoria, 'ual'uer elemento conceitual do problema
pode ser representado como um objeto em um
programa ;:<.8 cac"orros, li(ros, s#cios,
empr,stimos, etc= .
> >
1efinio8
4rop#sito8
Objetos possuem8
Identidade
4essoa
Identidade:: Mrio
Estado::
olhos pretos
nasceu em 16!"#!
pesa #!$%
mede 1&#!m
Comportamento::
andar
falar
comer
rir
:<emplo
E0 E0
5elefone
Identidade:: n'mero "(#6-!)*)
Estado::
azul
"+, -.z
tone
Comportamento::
tocar
discar
:<emplo
E6 E6
Jepresentao
Mrio
/stado
0caracter1sticas2
3omportamento
4dentidade
5ervi6os&
4nterface ou
protocolo
Objeto
E> E>
Implementao
!
Interface Kis2(el
!
4arte encapsulada ;escondida=
/stado do 7bjeto
0valor dos atributos2
4nterface da 3lasse
Objeto
EB EB
:ncapsulamento
$f7brica de objetos-.
20 20
%lasse
!
$G7brica de Objetos-.
Objetos8
!
So instDncias de alguma classe.
!
1e uma classe so id@nticos em sua interface e
implementao.
!
Diferem-se de outros por seu estado e sua
identidade.
2E 2E
8
Segundo a OAH8
%lasse L Fotao Hr7fica
22 22
Implementao em Ma(a
23 23
Implementao em Ma(a
2* 2*
%lasses
Classe
4nst9ncias
0objetos2
20 20
Implementao em Ma(a
26 26
Implementao em Ma(a
2> 2>
Atributos
=efatorao
5uperclasse
0caracter1sticas comuns2
5ubclasses
0caracter1sticas espec1ficas2
Herana
** **
%omposio
:erana . /omposio
? 3; . ,>; 3;
*0 *0
8Programao Aen&rica8.
/onceito /have
Objetos das subclasses podem ser tratados como
objetos da superclasse
::Project2
A
m"#...$
m%#...$
+
m"#...$
m&#...$
! lasse B " #$! lasse A
#m objeto da lasse B
pode ser usado em qualquer
lugar onde um objeto da
lasse A esperado.
B A
00 00
,abelas 9irtuais
>+m"02 m"02
>+m102 m102
m?todo invocado opera6@o
3lasse >
::Project2
A
m"#...$
m%#...$
+
m"#...$
m&#...$
A+m=02 m=02
>+m"02 m"02
A+m102 m102
m?todo invocado opera6@o
3lasse A
4olimorfismo
0E 0E
%oluo Polimrfica
::Unit
MPindo&s
close#...$
maximi'e#...$
minimi'e#...$
mo(e#...$
open#...$
Banela
close(...)
maximize(...)
minimize(...)
move(...)
open(...)
MQinu<
close#...$
maximi'e#...$
minimi'e#...$
mo(e#...$
open#...$
)ar
jan: Jane&a;
4olimorfismo
0* 0*
Observe a
aus$ncia de
lgica
condicional
procedure TForm1.FormCreate(Sender: TObject;
be!in
i" SO#$Windows$ t%en
jan :# JWindows.Create
e&se
jan :# JLinux.Create;
end;
procedure TForm1.W'S(sCommand()ar 'essa!e: T'essa!e;
be!in
i" ('essa!e.w*aram # SC+',-,',./ t%en
jan.minimi0e
e&se i" ('essa!e.w*aram # SC+'12,',./ t%en
jan.maximi0e
e&se i" ('essa!e.w*aram # SC+CLOS/ t%en
jan.c&ose
e&se i" ('essa!e.w*aram # SC+'O3/ t%en
jan.mo)e
e&se
in%erited;
end;
4olimorfismo
00 00