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 |
Metti alla prova le tue conoscenze su Introduction à la Programmation Orientée Objet con 17 domande a scelta multipla con correzioni dettagliate.
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?
Memorizza i concetti chiave di Introduction à la Programmation Orientée Objet con 17 flashcard interattive.
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.
Bases de données
Bases de données
Bases de données
Programmation
Importa il tuo corso e l'AI genera schede, quiz e flashcard in 30 secondi.
Generatore di schede