Refus d'héritage.
Si une sous-classe n'utilise qu'une partie des méthodes et propriétés héritées de ses parents, la hiérarchie est bancale. Les méthodes inutiles peuvent simplement rester inutilisées ou être redéfinies pour lever des exceptions.
##Signes et symptômes
Si une sous-classe n'utilise qu'une partie des méthodes et propriétés héritées de ses parents, la hiérarchie est bancale. Les méthodes inutiles peuvent simplement rester inutilisées ou être redéfinies pour lever des exceptions.

class Square extends Rectangle {
void setWidth(int w) { throw new UnsupportedOperationException(); }
void setHeight(int h) { throw new UnsupportedOperationException(); }
}##Causes du problème
Quelqu'un a été motivé à créer un héritage entre des classes uniquement par le désir de réutiliser le code d'une superclasse. Mais la superclasse et la sous-classe sont complètement différentes.

##Traitement
##Bénéfices
- Améliore la clarté et l'organisation du code. Vous n'aurez plus à vous demander pourquoi la classe
Doghérite de la classeChair(même si toutes deux ont 4 pieds).