Surcharger une methode statique en java
lonibe
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
lonibe Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
lonibe Messages postés 5 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde,
svp est ce qu on peut surcharger une methode statique en java??quels sont proprietes des methodes et attribute static, qu est ce qu on peut faire et ne pas faire AVEC??
Merci d'avance,
svp est ce qu on peut surcharger une methode statique en java??quels sont proprietes des methodes et attribute static, qu est ce qu on peut faire et ne pas faire AVEC??
Merci d'avance,
A voir également:
- Classe statique java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
2 réponses
"est ce qu on peut surcharger une methode statique en java?"
Non, c'est impossible, ça n'aurait d'ailleurs aucun sens.
L'héritage concerne les objets de la classe (this, super), or puisque la méthode est statique elle ne concerne aucun objet, donc l'héritage n'a pas lieu d'être...
De plus une méthode statique est attachée au nom de la classe qui la définit.
Avec ou sans classe fille c'est toujours le nom de la classe mère qui devra être utilisé pour utiliser la méthode. Si tu définis une méthode de même nom dans une classe fille c'est une méthode totalement indépendante, qui ne surcharge rien.
"quels sont proprietes des methodes et attribute static"
Elle se manipule en dehors de toute instance et ne dispose donc d'aucun des attributs associés aux objets (il n'y a pas de this). On se limitera donc à utiliser les paramètres de la méthodes et les membres statiques de la classe.
"qu est ce qu on peut faire et ne pas faire AVEC?"
On peut faire tout ce que l'on veut, il suffirait de passer en argument un objet de la classe pour avoir un comportement similaire à ce que l'on pourrait faire avec this. Cependant le rôle des méthodes statiques est plutôt de fournir des outils qui n'utilisent pas les propriétés internes des objets.
De manière très générale, si une méthode n'utilise aucun des attributs de la classe, alors elle devrait être statique.
Non, c'est impossible, ça n'aurait d'ailleurs aucun sens.
L'héritage concerne les objets de la classe (this, super), or puisque la méthode est statique elle ne concerne aucun objet, donc l'héritage n'a pas lieu d'être...
De plus une méthode statique est attachée au nom de la classe qui la définit.
Avec ou sans classe fille c'est toujours le nom de la classe mère qui devra être utilisé pour utiliser la méthode. Si tu définis une méthode de même nom dans une classe fille c'est une méthode totalement indépendante, qui ne surcharge rien.
"quels sont proprietes des methodes et attribute static"
Elle se manipule en dehors de toute instance et ne dispose donc d'aucun des attributs associés aux objets (il n'y a pas de this). On se limitera donc à utiliser les paramètres de la méthodes et les membres statiques de la classe.
"qu est ce qu on peut faire et ne pas faire AVEC?"
On peut faire tout ce que l'on veut, il suffirait de passer en argument un objet de la classe pour avoir un comportement similaire à ce que l'on pourrait faire avec this. Cependant le rôle des méthodes statiques est plutôt de fournir des outils qui n'utilisent pas les propriétés internes des objets.
De manière très générale, si une méthode n'utilise aucun des attributs de la classe, alors elle devrait être statique.
Donc effectivement ici on parle de surcharge, donc c'est possible.
En revanche, et même si ce n'était pas la question, je maintiens que la redéfinition n'a pas de sens pour les méthodes statiques, car c'est un concept qui ne s'applique qu'aux objets.
La redéfinition c'est pouvoir enrichir (ou supprimer) le comportement définit par la classe mère mais en affectant uniquement la méthode redéfini, tout le reste est encore disponible.
Mais on peut très bien faire de la redéfinition sans faire de polymorphisme, de même qu'on peux faire du polymorphisme sans redéfinition (même si du coup l'utilité est restreinte...)
De toute façon, polymorphisme ou redéfinition, dans les deux cas ça s'applique à un objet, donc ça n'a pas de sens pour les méthodes statiques.