Ce projet regroupe un ensemble de notes, de fiches de révision et d'exemples de code Java conçus pour préparer un contrôle sur les concepts de la Programmation Orientée Objet (POO).
L'objectif principal est de centraliser les notions fondamentales de la POO en Java à travers des exemples pratiques et des fiches synthétiques. Le code est volontairement commenté et structuré pour faciliter la compréhension.
- Introduction à la POO, bases
- Objets et classes
- Héritages
- Interfaces
- Généricité
- Classes internes
- Exceptions
- Bibliothèques de collections
Le projet est organisé en plusieurs packages pour séparer les différents concepts abordés :
/src: Contient l'ensemble du code source Java./lesBases: Exemples sur les fondamentaux de la POO.Personne.java: Une classe de base avec encapsulation, constructeurs et membresstatic.Etudiant.java: Une sous-classe dePersonnepour illustrer l'héritage.Main.java: Démontre la création d'objets, les boucles, les tableaux et le transtypage (cast).
/classeAbstraite: Un cas pratique sur l'abstraction.Animal.java: Une classe abstraite servant de modèle.Chien.javaetChat.java: Des classes concrètes qui héritent d'Animal.Main.java: Montre l'utilisation du polymorphisme avec des classes abstraites.
/lesInterfaces: Un cas pratique sur les interfaces.Reparable.java: Une interface avec une méthode abstraite.Ravitaillable.java: Une autre interface avec une méthode abstraite.Voiture.java: Une classe qui implémenteReparable.javaetRavitaillable.javaVelo.java: Une classe qui implémenteReparable.java.Main.java: Montre l'utilisation des interfaces.
/genericite: Un cas pratique sur la généricité.Boite.java: Une classe 'conteneur' générique simple<T>.Stagiaire.java: Une classe d'exemple qui implémenteComparablepour le test de contrainte.Main.java: Démontre l'utilisation de la classeBoite<T>et d'une méthode générique avec contrainte.
/classesInternes: Un cas pratique sur les classes internes.ClasseExterne.java: Exemple de classe interne non-statique.GestionCoordonnees.java: Exemple de classe interne statique privée.Main.java: Démontre l'utilisation des classes internes, anonymes et des expressions lambda.
/exceptions: Un cas pratique sur les exceptions.DebitImpossibleException.java: Une exception "checked" personnalisée.Compte.java: Une classe qui utilisethrowetthrows.Main.java: Démontre l'utilisation detry-catchpour gérer les erreurs.
/collections: Un cas pratique sur les collections.Main.java: Démontre l'utilisation deList,SetetMapet de la classeCollections.
/infoTexte: Contient les fiches de révision au format Markdown.infoSupplementaires.md: Fiche sur les concepts clés (visibilité, mots-clés, héritage, polymorphisme, etc.).classesMethodes.md: Fiche récapitulative des méthodes utiles des classes standards de Java (String,Scanner,Arrays, etc.).
Ce projet couvre les notions suivantes :
- Classes et Objets : Création et instanciation d'objets.
- Encapsulation : Utilisation des modificateurs d'accès (
private,public) et des getters/setters. - Héritage : Utilisation des mots-clés
extendsetsuperpour créer des hiérarchies de classes. - Polymorphisme et Transtypage : Manipulation d'objets via des références de super-classe et utilisation de
instanceof. - Abstraction : Création et utilisation de classes et méthodes abstraites.
- Membres
static: Attributs et méthodes appartenant à la classe plutôt qu'aux instances. - Bases de Java : Boucles (
for,while), tableaux,switch, opérateurs, etc. - Interfaces : Création et utilisation d'interfaces.
- Généricité : Utilisation de la généricité
- Classes internes : Création et utilisation de classes internes.
- Exceptions : Gestion des exceptions et des erreurs.
- Collections : Utilistation des collections
-
Cloner le projet (Ou télécharger le dossier):
git clone https://github.com/Firelack/JavaCourseReview.git
-
Ouvrir dans un IDE : Ouvrez le projet dans un IDE Java comme IntelliJ IDEA ou Eclipse.
-
Exécuter le code : Chaque package (
lesBasesetclasseAbstraite, etc.) contient son propre fichierMain.javaqui peut être exécuté indépendamment pour tester les concepts qui lui sont associés. Ce dossier contient également un dossier infoTexte qui contient des fichiers de texte sur les notions et choses à retenir.