Formation Programmation Orientée objet (POO)
1800€ HT / personne |
3 jours (21 heures) |
Présentation
À la fois ludique, moderne et basée sur des cas concrets, notre formation Programmation Orientée Objet est conçue pour vous guider dans la maîtrise des concepts fondamentaux de la POO tout en intégrant l’intelligence artificielle (IA) comme un allié du quotidien. L’objectif principal est de vous permettre de passer d’une ancienne approche fonctionnelle et procédurale à une approche moderne orientée objet en comprenant ses principes clés : modularité, réutilisation du code, extensibilité et son adaptation au monde réel.
Au cours de cette formation, vous découvrirez les bénéfices de la POO et de l’IA dans votre code, les différences entre les langages récents, tels que C++, Python, Java et C#, et comment ce paradigme répond à vos problèmes en tant que développeur. À travers notre pédagogie unique, vous apprendrez et retiendrez facilement les grands principes de la POO tels que l’abstraction, l’encapsulation, l’héritage et le polymorphisme.
L’un des points forts de cette formation est l’intégration de l’IA dans votre quotidien de développeur. Vous apprendrez à utiliser l’IA pour générer du code, améliorer sa conception, le refactoriser mais aussi documenter de manière plus efficace vos projets. Grâce à des ateliers pratiques, vous mettrez en œuvre vos compétences sur des cas d’usages issus du monde de l’entreprise, en utilisant l’héritage et le polymorphisme, tout en recevant l’aide d’outils IA génératifs pour coder plus rapidement et intelligemment.
À l’issue de cette formation, vous serez prêt à concevoir des applications flexibles, évolutives et maintenables tout en exploitant le potentiel de l’IA pour améliorer votre productivité.
Objectifs
- Comprendre les principes et les spécificités de la programmation orientée objet
- Passer d’une approche fonctionnelle à une approche Objet
- Découvrir l’impact de l’IA dans la programmation orientée objet
- Mettre en œuvre un projet simple intégrant la programmation orientée objet et l’IA
Public visé
- Développeurs
- Analystes
- Chefs de projets souhaitant évoluer vers les technologies du développement objet
Pré-requis
- Disposer des connaissances de base et d’une expérience en conception d’applications et en développement logiciel.
Programme de la formation Programmation Orientée Objet
Paradigmes de programmation : du procédural à l’objet
- Qu’est-ce qu’un Paradigme ?
- Historique et évolution de la POO
- Les principaux langages orientés objet et leurs principales différences : C++, Python, Java, C#
- Comprendre les différences fondamentales entre programmation procédurale (impérative) et programmation orientée objet
- Identifier les limites d’une approche fonctionnelle traditionnelle dans les applications modernes (maintenabilité, évolutivité)
- Découvrir les avantages clés de la POO : modularité, réutilisation du code, extensibilité et meilleure correspondance au monde réel
- Se familiariser avec la terminologie de base de l’objet (classe, instance, méthode, attribut) et le vocabulaire POO par rapport à celui du procédural
- Atelier pratique : Étude de cas – À partir d’un scénario simple (ex : gestion d’un compte bancaire), discussion en groupe sur une solution écrite en mode procédural versus une solution orientée objet. Les apprenants identifient les objets et responsabilités dans le problème et esquissent comment les organiser en classes.
L’Art du Prompt : Faire de l’IA un allié du quotidien de la POO
- Formuler des prompts utiles pour générer ou améliorer du code orienté objet
- Utiliser l’IA comme assistant de conception, de refactoring ou de documentation
- Gagner en clarté, productivité et créativité avec les bons réflexes de dialogue
- Découvrir des outils intégrés (Cursor, Windsurf, etc.) pour coder avec l’IA au quotidien
- Atelier pratique aidé de l’IA générative : Rédige un prompt pour générer deux classes liées, où un client peut posséder plusieurs comptes.
Concepts fondamentaux de la POO : classes, constructeur, objets et méthode
- Assimiler le concept de classe (modèle) versus objet (instance concrète) et comprendre la relation entre les deux
- Les constructeurs et le destructeur
- Attributs et méthodes pour structurer les données
- Distinguer les attributs d’instance (propres à chaque objet) des attributs de classe (statiques/partagés) et comprendre l’utilité de chacun
- Gestion du cycle de vie des objets
- Atelier pratique : Création d’une classe simple, la classe CompteBancaire, avec quelques attributs (titulaire, solde) et méthodes (déposer, retirer, afficher le solde).
Démystification des 4 grands principes de la POO
- Abstraction : simplifier la complexité en masquant les détails
- Encapsulation : regroupement des données et méthodes associées
- Héritage : réutiliser et spécialiser des classes existantes
- Polymorphisme : gérer différentes implémentations sous une interface commune
- Introduction aux diagrammes UML pour visualiser la hiérarchie des classes et les relations entre elles
- Atelier pratique aidé de l’IA générative : Réutiliser votre classe CompteBancaire et ajouter à votre projet les classes CompteCourant et CompteÉpargne, en utilisant les 4 principes de la POO.
Visibilité et Encapsulation
- Importance de l’encapsulation pour protéger les données
- Différences de visibilité entre public, privé, protégé
- Impact de la visibilité sur la sécurité et la maintenabilité
- Méthodes d’accès getter/setter
- Atelier pratique : Création d’une classe sécurisée avec attributs privés et accès contrôlés via getters/setters. Protéger les données membres (solde, propriétaire, etc.) en les déclarant privées et en fournissant des accesseurs (getSolde(), getPropriétaire()) et des mutateurs (déposer(), retirer()).
Héritage : factoriser et étendre les classes
- Comprendre le principe d’héritage en POO : créer de nouvelles classes par extension d’une classe existante pour réutiliser du code commun
- Différencier classe parente (super-classe) et classe dérivée (sous-classe) ; comprendre comment une sous-classe hérite des attributs/méthodes de la super-classe
- Mettre en œuvre la spécialisation par héritage : ajouter ou redéfinir (override) des méthodes dans une sous-classe pour adapter le comportement hérité aux besoins spécifiques
- Appréhender les avantages (facteur commun centralisé, cohérence) et les risques de l’héritage (couplage fort, complexité) afin de l’utiliser à bon escient
- Atelier pratique aidé de l’IA générative : Extension d’une classe existante. Reprenant la classe CompteBancaire, les participants conçoivent une sous-classe CompteÉpargne qui hérite de CompteBancaire. Ils ajoutent par exemple un attribut taux d’intérêt et redéfinissent la méthode de calcul d’intérêts. Ensuite, ils écrivent un mini-scénario d’utilisation montrant comment un CompteÉpargne et un CompteBancaire classique peuvent être manipulés de façon polymorphe via leur classe parente commune.
Polymorphisme et abstraction : vers une conception flexible
- Comprendre le polymorphisme (utiliser une même interface avec plusieurs classes)
- Différencier classe abstraite et interface
- Concevoir un code générique (réutilisable et évolutif)
- Découvrir le principe : « programmer contre une interface, pas une implémentation »
- Atelier pratique : Création d’une interface CompteBancaire regroupant les méthodes communes à différents types de comptes (dépôt, retrait, affichage du solde). Puis implémentation concrète de cette interface dans des classes spécialisées (CompteCourant, CompteÉpargne) pour illustrer comment le polymorphisme facilite la gestion uniforme d’objets variés. Cet exercice montrera clairement l’intérêt des abstractions pour concevoir un code flexible et facilement maintenable.
Les concepts étendus aux 4 principes de la POO
- Composition : Créer des objets complexes en combinant des objets plus simples (relation « a un »)
- Cohésion : Garantir qu’une classe ou une méthode ait une responsabilité unique clairement définie
- Couplage faible (ou Découplage) : Minimiser les dépendances entre objets ou composants pour faciliter la maintenance et l’évolutivité
- Atelier pratique : Crée une classe CarteBancaire associée à chaque compte (relation “a une carte”).
Le Code est ton Royaume : Introduction aux principes SOLID
- Techniques de Refactorisation : Comment transformer un code spaghetti en code clair, organisé en plusieurs classes cohérentes ?
- extract method
- extract class
- rename
- Identification les signaux d’alerte
- S – Responsabilité unique : une classe = une mission, comme un chevalier spécialisé.
- O – Ouvert/fermé : ton code accepte le changement… sans se faire saboter.
- L – Substitution de Liskov : les héritiers doivent respecter l’héritage (pas de trahison !).
- I – Ségrégation d’interface : mieux vaut plusieurs petits outils qu’un gros gadget inutile.
- D – Injection de dépendances : confier les clés de l’extérieur : la classe reste libre, souple et testable.
- Atelier pratique : Analyse critique et réécriture d’un code selon les principes SOLID pour en améliorer la maintenabilité au travers d’une refactorisation de son code.
Design Patterns : Les recettes secrètes du développeur
- Importance et intérêt des Design Patterns
- Patterns de création (Factory, Singleton, etc.)
- Patterns de structuration (Adapter, Facade, etc.)
- Patterns de comportement (Observer, Strategy, etc.)
- Atelier pratique : Surveille tes CompteBancaires avec l’Observer pour éviter d’être à découvert !
Conclusion et ouverture aux Architectures Logicielles
- Architecture MVC
- Introduction aux Microservices : principes fondamentaux, avantages
- Architecture orientée services découplage et modularité
- Atelier pratique aidé de l’IA générative : Demander à l’IA de produire un squelette de code d’architecture MVC.
Pour aller plus loin
Formation Cobit Design and implémentation
Formation Python : Programmation Objet
Formation Tensorflow
Langues et Lieux disponibles
Langues
- Français
- Anglais / English
Lieux
-
France entière
- Paris
- Lille
- Reims
- Lyon
- Toulouse
- Bordeaux
- Montpellier
- Nice
- Sophia Antipolis
- Marseille
- Aix-en-Provence
- Nantes
- Rennes
- Strasbourg
- Grenoble
- Dijon
- Tours
- Saint-Étienne
- Toulon
- Angers
-
Belgique
- Bruxelles
- Liège
-
Suisse
- Genève
- Zurich
- Lausanne
-
Luxembourg
Témoignages
⭐⭐⭐⭐⭐ 4,8/5 sur Google My Business. Vous aussi, partagez votre expérience !
Afficher tous les témoignages
⭐⭐⭐⭐⭐ 4,8/5 sur Google My Business. Vous aussi, partagez votre expérience !
Noter la formation
1800€ HT / personne |
3 jours (21 heures) |
UNE QUESTION ? UN PROJET ? UN AUDIT DE CODE / D'INFRASTRUCTURE ?
Pour vos besoins d’expertise que vous ne trouvez nulle part ailleurs, n’hésitez pas à nous contacter.
ILS SE SONT FORMÉS CHEZ NOUS