Classe : Modèle ou plan de construction d’un objet, définissant ses attributs et comportements.
Objet : Instance concrète d’une classe, représentant une entité spécifique.
Encapsulation : Principe de protection de l’état interne d’un objet en limitant l’accès direct.
Héritage : Mécanisme permettant de créer une classe dérivée à partir d’une classe existante, réutilisant ses propriétés et méthodes.
Polymorphisme : Capacité pour différentes classes d’avoir des méthodes portant le même nom mais avec des implementations différentes.
Abstraction : Définition d’une interface ou d’un contrat sans implémentation concrète, pour cacher les détails complexes.
Patrons de conception : Solutions réutilisables pour des problématiques communes en POO (ex : Singleton, Observer).
SOLID : Ensemble de principes pour une conception évolutive et facilement maintenable :
Principes SOLID :
Règle des trois états d’un objet : Un attribut privé/protégé, accessible via getter/setter, avec encapsulation adaptée.
Sérialisation : Processus d’écrire l’état d’un objet sous forme sérialisée (ex : JSON, XML).
Classe CompteBancaire en Python :
class CompteBancaire:
def __init__(self, titulaire, solde=0):
self.titulaire = titulaire
self._solde = solde # attribut protégé
@property
def solde(self):
return self._solde
def deposer(self, montant):
if montant > 0:
self._solde += montant
def retirer(self, montant):
if 0 < montant <= self._solde:
self._solde -= montant
Héritage :
class Employe:
def __init__(self, nom):
self.nom = nom
class Salarie(Employe):
def salaire_annuel(self):
return 30000
Patron Strategy :
from abc import ABC, abstractmethod
class Tarification(ABC):
@abstractmethod
def prix(self, montant):
pass
class PromoPourcentage(Tarification):
def __init__(self, pourcentage):
self.pourcentage = pourcentage
def prix(self, montant):
return montant * (1 - self.pourcentage / 100)
class Panier:
def __init__(self, strategie):
self.strategie = strategie
def montant_total(self, montant):
return self.strategie.prix(montant)
| Concept | Héritage | Composition |
|---|---|---|
| Reutilisation | Reprend tout ou partie de classe | Utilise d’autres classes comme composantes |
| Flexibilité | Moins flexible (dépendance forte) | Plus flexible (dépendance faible) |
| Modifications | Impacte la hiérarchie | Modifications locales possible |
Pon a prueba tus conocimientos sobre Introduction à la Programmation Orientée Objet con 17 preguntas de opción múltiple con correcciones detalladas.
1. Quel concept permet de créer un nouveau type basé sur une classe existante en programmation orientée objet ?
2. Quelle est la principale fonction de la modélisation UML en Programmation Orientée Objet?
Memoriza los conceptos clave de Introduction à la Programmation Orientée Objet con 17 tarjetas de memoria interactivas.
Qu'est-ce qu'une classe en programmation orientée objet ?
Une classe est un modèle ou un plan de construction permettant de créer des objets. Elle définit les attributs et les méthodes communes à tous ses objets.
POO — définition?
Modélise le monde avec classes et objets.
Quelle est la différence entre un objet et une classe ?
Un objet est une instance concrète d'une classe, représentant une entité spécifique avec ses propres valeurs d'attributs. La classe sert de modèle pour créer ces objets.
Importa tu curso y la IA genera hojas, cuestionarios y tarjetas de memoria en 30 segundos.
Generador de hojas