
5
Les deux architectures de
bibliothèques
L’approche hiérarchique (Java, .net, Xercès)
Toute classe dérive d’une classe de base
Tout algorithme générique manipule des objets de la classe de base
L’approche générique (STL, ATL, boost, .net)
Des classes atomiques
Des classes stockant des objets atomiques
Des algorithmes manipulant des ensembles d’objets atomiques
Les approches mixtes (QT, Standard)
Des classes atomiques
Des classes dérivant impérativement d’une classe de base (élément UI,
persistance, sérialisation)
Certains algorithmes génériques manipulent des ensembles d’objets atomiques
D’autres algorithmes génériques manipulent des objets de la classe de base
L’architecture hiérarchique
Java : Object
protected Object clone()
boolean equals(Object obj)
void finalize()
Class getClass()
int hashCode()
void notify ()
void notifyAll()
String toString()
void wait() …
QT (C++) : QObject
QObject ( QObject * … )
virtual ~QObject ()
virtual bool event ( QEvent *
)
virtual bool eventFilter ( Q
Object *, QEvent * )
virtual const char*classNa
me () const
bool isA (const char * ) con
st
bool inherits (const char * )
const
const char* name () const
…
La définition d’une classe de base: