Skip to content

Phase 2 – Programmation Orientée Objet (2–3 mois)

Classes, Objets, Attributs et Méthodes

  • Structure des classes
  • Instanciation des objets
  • Utilisation de this
  • Meilleures pratiques : nommage, organisation du code

Encapsulation, Héritage, Polymorphisme et Abstraction

  • Encapsulation : private, getters/setters, validation
  • Inheritance : extends, overriding (@Override)
  • Polymorphism : sous-type, method overloading
  • Abstraction : aperçu, préparation aux interfaces et classes abstraites

Interfaces et Classes Abstraites

  • Interfaces : implements, default methods
  • Abstract classes : méthodes abstraites et concrètes
  • Différences entre interface et abstract class

Constructeurs, Initialisateurs et Blocs Statiques

  • Constructeurs par défaut et paramétrés, appels avec this()
  • Blocs d’initialisation ({}) et blocs statiques (static {})

Énumérations

  • Création et utilisation d’enum
  • Méthodes et attributs dans les enums

Collections de Base

  • ArrayList : ajout, suppression, itération (for, forEach, Iterator)
  • HashMap : clé-valeur, opérations courantes
  • HashSet : élimination des doublons
  • Introduction à Queue et Stack (par exemple, LinkedList comme queue/stack)
  • Introduction au Java Collections Framework

Algorithmes de Base

  • Recherche linéaire et binaire
  • Sorting : Bubble Sort, Collections.sort()
  • Recursion : concepts et exemples simples (par exemple, factorielle, Fibonacci)
  • Introduction à la complexité (O(n), O(log n))

Generics

  • Syntaxe (), collections génériques, méthodes génériques
  • Limites (extends, super)

Stream API (Introduction)

  • Opérations de base : filter, map, collect
  • Exemples avec ArrayList

Tests Unitaires (Introduction)

  • Utilisation de base de JUnit
  • Écriture de cas de test pour les classes et méthodes
  • Introduction à TDD (Test-Driven Development)

Projet Final

  • Système de Bibliothèque
  • Classes : Book, User, Library
  • Héritage : DigitalBook et PhysicalBook
  • Collections : ArrayList pour les livres, HashMap pour les prêts
  • Encapsulation : validation des données
  • Git : commit par fonctionnalité (par exemple, feature/book-management)
  • Publier sur GitHub avec un README explicatif

Ressources Mises à Jour