Integrantes: IURI DE LIMA MARQUES e THIAGO LARANGEIRA DE SOUZA
O Refused Bequest ocorre quando uma classe filha herda métodos ou atributos que não são utilizados ou são ignorados.
class Animal {
public void comer() { ... }
public void dormir() { ... }
public void voar() { ... }
}
class Cachorro extends Animal {
@Override
public void voar() {
throw new UnsupportedOperationException("Cachorros não voam!");
}
}
class Animal {
public void comer() { ... }
public void dormir() { ... }
}
class Cachorro extends Animal { }
class Passaro extends Animal {
public void voar() { ... }
}
Esse smell ocorre quando um método recebe muitos parâmetros, tornando sua utilização confusa e de difícil manutenção.
class Relatorio {
public void gerar(String titulo, String autor, String data,
String conteudo, String rodape, int numPaginas) {
// lógica
}
}
class Relatorio {
private String titulo, autor, data, conteudo, rodape;
private int numPaginas;
public Relatorio(String titulo, String autor, String data,
String conteudo, String rodape, int numPaginas) {
this.titulo = titulo;
this.autor = autor;
this.data = data;
this.conteudo = conteudo;
this.rodape = rodape;
this.numPaginas = numPaginas;
}
public void gerar() {
// lógica
}
}