Si j'ai une superclasse de classe et une sous-classe de sous-classe, et que certaines fonctions de la sous-classe sont légèrement différentes, est-ce une mauvaise habitude de surcharger l'original, d'appeler super?Est-ce une mauvaise pratique de remplacer une fonction uniquement pour ajouter un peu de fonctionnalité en appelant super?
Par exemple: (code pseudo)
public class BaseClass{
int fooA();
int fooB();
int fooC();
}
public class SubClass extends BaseClass{
@Override
int fooB(){
int temp = super.fooB();
temp += 1;
return temp;
}
@Override
int fooC(){
System.out.println("I'm doing something extra in fooC!");
return super.fooC();
}
}
J'essaie d'éviter la duplication de code, mais je me sens un peu comme si je fais quelque chose de mal ou d'oublier des trucs POO de base, donc je pensais que je demandais si c'était une mauvaise pratique. Cela fait un moment que j'ai fait l'héritage; merci pour tout aperçu.
composition préférerons héritage. – Kayaman
@Kayaman Vous ne pouvez pas simplement dire "Préférez la composition par héritage" comme c'est toujours vrai. Dans certains cas, la composition sera plus appropriée que l'héritage et dans d'autres cas, l'héritage sera plus approprié que la composition. –
* Ça fait longtemps que j'ai hérité *. :) – CKing