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,