Chapitre 5
Généricité et typage avancé
Jean Privat
Université du Québec à Montréal
INF7845 — Principes avancés des langages à objets
Hiver 2011
Jean Privat (UQAM) 05 — Généricité INF7845 — Hiver 2011 1 / 10
Généricité
ou polymorphisme paramétrique
Origine
Inventée par ML
Popularisée par Ada
Idée
Des types paramètrent d’autres types
Paramètres
Sur les classes
Sur les méthodes
Jean Privat (UQAM) 05 — Généricité INF7845 — Hiver 2011 2 / 10
Exemple
c l a s s P i l e <T> {
void e m p i l e r (T) ;
T d e p i l e r ( ) ;
T sommet ( ) ;
P i l e ( ) ;
}
P i l e <A s s i e t t e > pa = new P ile <A s s i e t t e >() ;
Jean Privat (UQAM) 05 — Généricité INF7845 — Hiver 2011 3 / 10
Vocabulaire
Classe paramétrée
Paramétrée par des types formels
Doit être instanciée pour être utilisée
Type formel
N’a de sens que dans la classe paramétrée
Peut jouer tous les rôles d’un type
Type concret
N’est pas formel
Ne contient pas de type formel
Jean Privat (UQAM) 05 — Généricité INF7845 — Hiver 2011 4 / 10
Le rôle des classes
Questions
De la classe paramétrée ou de ses instantiations, qui
sont les vraies classes ?
Un type formel est-il une classe ?
Jean Privat (UQAM) 05 — Généricité INF7845 — Hiver 2011 5 / 10
1 / 10 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !