Next: Cacher l'information
Up: Panoramique et comparaison de
Previous: Bref rappel des opérations
Modularité
Dans les trois langages, on peut déclarer séparément une classe et son implémentation, mais avec les distinctions suivantes:
- Java va plus loin, et distingue nettement la
notion d'interface de celle de définition de classe, en gardant la
première et en supprimant la deuxième.
- en C++, en raison de l'approche très statique de ce langage, et son soucis d'efficacité, la compilation séparée est souvent une chimère: si on modifie une super-classe, on peut être obligé de recompiler tout le code qui lui fait référence (sous-classes, friends etc.), cela est connu comme le problème de la superclasse fragile
De plus, Java propose une notion de package pour grouper des définitions de classes reliées, qui ressemble aux modules de Modula-2 (aussi connu comme le système de modules du pauvre, ``poor man's module system'' en anglais).
Roberto DiCosmo
Mon Jun 3 18:29:31 MET DST 1996