Table des matières
1Introduction 1
1.1 Les paradigmes de programmation . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 La programmation procédurale . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 La programmation Orientée Objets (POO) . . . . . . . . . . . . . . . . . 4
2Fondements de la Programmation orientée objets 6
2.1 Lanotiond’objet................................... 6
2.2 Lanotiondeclasse .................................. 7
2.2.1 Les objets, instanciation des classes . . . . . . . . . . . . . . . . . . . . . 9
2.2.2 Différence entre les objets et les types fondamentaux . . . . . . . . . . . 9
2.2.3 Attributs et méthodes d’instance . . . . . . . . . . . . . . . . . . . . . . 11
2.2.4 Attributs et méthodes de classe . . . . . . . . . . . . . . . . . . . . . . . 12
2.3 Surcharge ....................................... 14
2.4 Contrôle de l’accessibilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4.1 L’encapsulation................................ 16
2.5 Constructeurs..................................... 17
2.5.1 Constructeur par défaut . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5.2 Surcharge des constructeurs . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.5.3 Désigner un constructeur par this(...) . . . . . . . . . . . . . . . . . . . . 19
2.6 Membresconstants(final) .............................. 19
2.7 Les paquets (packages)................................ 21
2.7.1 Déclaration de package . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.7.2 Importation de package . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.7.3 Importstatique................................ 24
3Héritage et Polymorphisme 26
3.1 Héritage ........................................ 26
3.1.1 Masquage des variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.1.2 Redéfinition des méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . 29
3.1.3 Héritage et constructeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.1.4 Membresprotégés............................... 33
3.1.5 Généralisation : conversion classe fille →classe mère . . . . . . . . . . . 33
3.1.6 Particularisation : conversion classe mère →classe fille . . . . . . . . . . 33
3.1.7 Modificateurfinal............................... 34
3.2 Lepolymorphisme .................................. 34
3.3 Relationsentreclasses ................................ 36
3.4 La classe racine Object en Java . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.4.1 Redéfinition de méthodes clés de Object . . . . . . . . . . . . . . . . . . 37
©I. Boussaïd, 2014–2015 II