Question programmation java
Fermé
Salut. Je me pose une question de programmation. Voilà un petit bout de code
Vector v = new Vector();
v.add(new Integer(10));
v.add(new Integer(8));
Enumeration e = v.elements();
Pourquoi ce bout de code compile t'il alors qu'Enumeration est une interface et non une classe.
merci de votre aide
Vector v = new Vector();
v.add(new Integer(10));
v.add(new Integer(8));
Enumeration e = v.elements();
Pourquoi ce bout de code compile t'il alors qu'Enumeration est une interface et non une classe.
merci de votre aide
A voir également:
- Question programmation java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Application de programmation - Guide
2 réponses
Parceque lorsque tu utilises la méthode elements(), c'est un objet qui t'es renvoyé, pas une interface. Cet objet implémente l'interface Enumeration et est donc bien du type Enumeration.
En OO, on appelle cela le polymorphisme.
Un exemple:
public List getItems(){
ArrayList items = null;
.
.
.
return items;
}
C'est bien un objet de type ArrayList qui est renvoyé, mais celui qui appelle la méthode recevra une List.
Ce mécanisme st souvent utilisé pour caché le type réél de l'objet que tu renvoies à celui qui appelle la méthode, de manière à ne pas lui donner accès à certaines méthodes de la classe qui implémente l'interface, par exemple.
;-)
HackTrack
En OO, on appelle cela le polymorphisme.
Un exemple:
public List getItems(){
ArrayList items = null;
.
.
.
return items;
}
C'est bien un objet de type ArrayList qui est renvoyé, mais celui qui appelle la méthode recevra une List.
Ce mécanisme st souvent utilisé pour caché le type réél de l'objet que tu renvoies à celui qui appelle la méthode, de manière à ne pas lui donner accès à certaines méthodes de la classe qui implémente l'interface, par exemple.
;-)
HackTrack
Parceque lorsque tu utilises la méthode elements(), c'est un objet qui t'es renvoyé, pas une interface. Cet objet implémente l'interface Enumeration et est donc bien du type Enumeration.
En OO, on appelle cela le polymorphisme.
Un exemple:
public List getItems(){
ArrayList items = null;
.
.
.
return items;
}
C'est bien un objet de type ArrayList qui est renvoyé, mais celui qui appelle la méthode recevra une List.
Ce mécanisme st souvent utilisé pour caché le type réél de l'objet que tu renvoies à celui qui appelle la méthode, de manière à ne pas lui donner accès à certaines méthodes de la classe qui implémente l'interface, par exemple.
;-)
HackTrack
En OO, on appelle cela le polymorphisme.
Un exemple:
public List getItems(){
ArrayList items = null;
.
.
.
return items;
}
C'est bien un objet de type ArrayList qui est renvoyé, mais celui qui appelle la méthode recevra une List.
Ce mécanisme st souvent utilisé pour caché le type réél de l'objet que tu renvoies à celui qui appelle la méthode, de manière à ne pas lui donner accès à certaines méthodes de la classe qui implémente l'interface, par exemple.
;-)
HackTrack