Forcer les classes filles à avoir des méthodes/attributs static - Java - Programmation
Marsh Posté le 11-01-2011 à 16:44:53
Le principe d'héritage ne s'applique pas aux éléments static (et donc pas de mécanisme d'abstract).
Même si tu peux définir des méthodes static ayant la même signature dans 2 classes ayant un héritage, ces 2 méthodes n'ont aucun lien.
Ci-dessous un petit exemple pour montrer à quel point c'est dangereux.
Code :
|
Code :
|
Résultat :
Code :
|
...
Donc pour appeler la méthode toto de Fille il faudrait caster l'objet en Fille.
Je ne sais pas si ça a voir avec ce que tu veux faire mais pour moi utiliser le même nom de méthode static dans 2 classes = dangereux + inutile
Marsh Posté le 12-01-2011 à 19:34:10
Merci pour ce retour
Je comprends bien ton exemple, mais je ne fait jamais appel à des méthodes static depuis une instance d'une classe, donc pas de problème à ce niveau là : je sais exactement quelle classe fille je dois appeler et quand.
Mon seul souci est de forcer un "template" pour toutes les classes filles.
Marsh Posté le 11-01-2011 à 11:50:29
Bonjour,
Je souhaiterai déclarer une classe (abstraite) dont toutes les filles devraient implémenter des méthodes (voire attributs) qui seraient static. Le but est de forcer les filles a redéfinir ces méthodes/attributs.
Exemple de ce que je voudrais (code non fonctionnel) :
Classe mère qui "déclare" les méthodes/attributs à redéfinir :
Première classe fille qui redéfinit les méthodes/attributs :
Deuxième classe fille qui redéfinit les méthodes/attributs :
Merci d'avance pour votre aide