Bonjour à tous,
Dans le cadre d'un projet de stage, je souhaite simplifier au maximum les opérations d'un développeur pour réaliser des opérations que je ne décrirai pas ici (je pense que celles-ci ne sont pas indispensables à connaître pour répondre à mon "problème"). Je vous explique la situation :
J'ai une classe abstraite A qui étend une classe B issue d'un framework que j'utilise, qui, dans les grosses lignes, ressemble à cela :
Et l'idée est d'uniquement développer une classe C, fille de A, implémentant la méthode run()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public abstract class A extends B {< des attributs ... >public void process() {< fais quelque chose... >run();}protected abstract void run();}
Ce bout de code illustre mon besoin : minimiser l'effort d'un autre développeur et centraliser les calculs dans la classe mère. Bon, quoiqu'il en soit, il marche exactement comme je veux, mais est-ce la bonne façon de procéder ? Je veux dire, cette façon de faire est elle admise comme correcte (je le fais souvent quand je code en fait, que ce soit en Java ou C++ ou tout autre langage objet), ou alors vaut il mieux créer une interface avec une méthode run() et composer la classe A d'une implémentation de cette interface ? En gros, ma question s'oriente davantage sur une propreté de conception.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public class C extends A {< d'autres attributs, à la guise du codeur... >@Overrideprotected void run() {< fais quelque chose... >}}
Si je n'ai pas été très clair dans la description de mon soucis, n'hésitez pas à me le dire.
Merci pour vos futurs réponses.
Partager