Couvre les modèles de conception dans la programmation orientée objet, les diagrammes de classes, les classes abstraites, les interfaces, les associations, l'héritage et le modèle Builder en Java.
Couvre l'héritage, le polymorphisme et le casting dans la programmation orientée objet, en mettant l'accent sur la factorisation du code et la manipulation générique d'objets.