Par contre, à moins qu'il n'y ait un mécanisme qui soit en mesure d'empêcher la création de collection... d'Objects, rien n'empêchera l'utilisateur d'écrire un code proche de
Code:
1 2 3 4 5
| List!(Object) truc = new List!(Object);
truc.add(new Voiture);
truc.add(new Pomme);
//voire
truc.add(new list!(Camion) ); |
Et ca, c'est un comportement qui ne permettra de s'en sortir qu'à coup de downcasting :P
Mais, encore une fois, je fais ce reproche de manière tout à fait générale, et je l'adresse aussi (principalement :question:) à des langages comme java ou C#;)