AccueilLycée Terminale GénéraleSpé NSIProgrammation orientée objet en Python
💻Lycée Terminale GénéraleSpé NSI

Programmation orientée objet en Python

Cours complet de Spé NSI pour le Lycée Terminale Générale. Révise efficacement avec StudentAI.

Programmation orientée objet en Python

Introduction


La programmation orientée objet (POO) est un paradigme fondamental en informatique qui permet de structurer le code de manière plus modulaire et réutilisable. Dans ce chapitre, nous allons explorer les concepts clés de la POO en Python, tels que les classes, les objets, l'héritage et le polymorphisme. Ces notions sont essentielles pour développer des applications complexes et organisées, et elles sont largement utilisées dans l'industrie.

1. Les classes et les objets

1.1 Qu'est-ce qu'une classe ?


Une classe est un modèle qui définit un type d'objet. Elle regroupe des attributs (caractéristiques) et des méthodes (comportements) qui lui sont associés. En Python, une classe est définie à l'aide du mot-clé `class`.

1.2 Qu'est-ce qu'un objet ?


Un objet est une instance d'une classe. Lorsque nous créons un objet, nous utilisons la structure définie par la classe pour lui donner des valeurs spécifiques.

Exemple concret


Imaginons que nous souhaitons modéliser un étudiant. Nous pourrions créer une classe `Etudiant` comme suit :
```python
class Etudiant:
def __init__(self, nom, age):
self.nom = nom
self.age = age

def se_presenter(self):
print(f"Bonjour, je m'appelle {self.nom} et j'ai {self.age} ans.")
```
Ici, `__init__` est le constructeur de la classe, qui initialise les attributs de l'objet. Nous pouvons ensuite créer des objets :
```python
etudiant1 = Etudiant("Alice", 17)
etudiant1.se_presenter() # Affiche : Bonjour, je m'appelle Alice et j'ai 17 ans.
```

2. L'héritage

2.1 Qu'est-ce que l'héritage ?


L'héritage permet de créer une nouvelle classe à partir d'une classe existante. La nouvelle classe, appelée sous-classe, hérite des attributs et des méthodes de la classe parente, tout en pouvant ajouter ou modifier des fonctionnalités.

Exemple concret


Prenons notre classe `Etudiant` et créons une sous-classe `EtudiantBac` :
```python
class EtudiantBac(Etudiant):
def __init__(self, nom, age, mention):
super().__init__(nom, age)

Accède au cours complet gratuitement

Tableaux récapitulatifs, mnémotechniques, exercices corrigés, QCM et colle orale IA — tout est inclus.

S'inscrire gratuitement

Autres chapitres — Spé NSI

Prêt à réviser ton Lycée Terminale Générale ?

QCM illimités, colle orale IA, flashcards et bien plus — 100% gratuit.

Commencer à réviser