Class20

3260 palavras 14 páginas
Programação
em
Java
para
a
Plataforma
Android
–
AULA
20


Princípios
de
Projeto
de
Classes
‐
I

• A
classe
como
unidade
de
reúso
de
código

• Princípios
que
garantem
a
boa
práGca
da
programação
orientada
a
objetos

• Princípio
da
Abertura‐Fechamento

• Principio
da
SubsGtuição
de
Liskov

• Programando
para
interfaces
genéricas

• Antropomorfização
dos
dados.


O
que
é
uma
classe?

• Menor
unidade
compilável
na
linguagem
Java
 nor Qual é a me unidade C? m e l e v á l i p com

• Implementação
de
um
Gpo
abstrato
de
dados

O que é um tipo abstrato de dados? Princípios
de
Projeto
de
Classes

• PráGcas
que
orientam
o
desenvolvedor
na
 criação de
melhores
projetos
de
classes.

– Princípio
da
SubsGtuição
de
Liskov

– Princípio
da
Abertura‐Fechamento

– Princípio
da
Inversão
de
Dependências

– Princípio
da
Segregação
de
Interfaces

O objetivo desses princípios é garantir reúso e extensibilidade. O que é reúso?

O que é ade? d i l i b i s n e t x e Reúso
de
SoVware

• Reusar
um
módulo
de
soVware
significa
 uGlizar aquele
módulo
sem
que
seja
 necessário ter
acesso
a
seu
código
fonte.


Quais as cas característi ulo que um mód para r e t a i r e v e d l? ser reusáve

Extensibilidade

• Um
conjunto
de
módulos
é
extensível
quando
 alterações em
um
desses
módulos
não
leva
a
 modificações nos
outros.

• Alterações
de
atualização:
a
implementação
 de um
módulo
é
alterada.

• Alterações
de
expansão:
um
novo
módulo
é
 adicionado ao
conjunto.
 eral, lidar
Em g são é n a p x e a m co
Por
mais difícil. que? Princípio
da
SubsGtuição
de
Liskov

• Em
qualquer
situação
em
que
se
espera
um

Gpo,
pode‐se
passar
um
subGpo.
 public interface
Shape
{
 void
draw(Canvas
canvas,
Paint
paint);

}

public
class
Rectangle
implements
Shape
{
 private
int
x,
y,
w,
h;


 public
Rectangle(int
nx,
int
ny,
int
nw,
int
nh)
{
 x
=
nx;
 y
=
ny;
 w
=
nw;
 h
=
nh;
 }
 public
void
draw(Canvas
canvas,
Paint
paint)
{
 canvas.drawRect(x,
y,
x
+
w,
y
+
h,

Relacionados