Menu
Coddy logo textTech

Classes vs Objets

Fait partie de la section Object Oriented Programming du Journey Python de Coddy — leçon 3 sur 64.

Les classes et les objets servent des objectifs différents. Une classe est un plan, tandis qu'un objet est ce que vous construisez à partir de ce plan.

Voici un exemple de classe :

class Dog:
	# partagé par tous les chiens
    species = "Canis familiaris"

Maintenant, nous pouvons accéder directement à l'attribut de classe en utilisant Dog.speciesDog est le nom de la classe :

print(f"Class species: {Dog.species}")
# Espèce de la classe : Canis familiaris

Cela accède aux données de la classe elle-même, et non d'un objet spécifique.

Explorons maintenant comment cela fonctionne dans les objets. Créez des objets à partir de la classe Dog :

dog1 = Dog()
dog2 = Dog()

Les objets peuvent avoir des attributs individuels que les classes n'ont pas :

dog1.name = "Nicky"
dog1.breed = "Siberian Husky"

dog2.name = "Teemon" 
dog2.breed = "Shu'ali"

Comparez ce que les classes et les objets peuvent faire :

print(f"Object 1: {dog1.name} is a {dog1.breed}")
print(f"Object 2: {dog2.name} is a {dog2.breed}")
print(f"Both share class attribute: {Dog.species}")

Sortie :

Object 1: Nicky is a Siberian Husky
Object 2: Teemon is a Shu'ali
Both share class attribute: Canis familiaris

Différence clé : La classe Dog définit ce que tous les chiens ont en commun, tandis que les objets dog1 et dog2 représentent des chiens spécifiques et individuels avec des propriétés uniques.

challenge icon

Défi

Facile

Complétez le code pour créer une classe Student et deux objets étudiants. Ajoutez des noms et des notes différents à chaque étudiant.

  • student.py : C'est ici que vous définirez votre classe Student.
  • driver.py : Fichier d'exécution principal qui importera et utilisera votre classe Student :

    Complétez le code pour créer une classe Student et deux objets étudiants. Ajoutez des noms et des notes différents à chaque étudiant.

    le nom de student1 est "Alice" avec la note "A".

    le nom de student2 est "Bob" avec la note "B".

Aide-mémoire

Une classe est un modèle qui définit des attributs et des comportements partagés. Un objet est une instance créée à partir de cette classe avec des propriétés individuelles.

Définir une classe :

class Dog:
    # Attribut de classe - partagé par toutes les instances
    species = "Canis familiaris"

Accéder directement aux attributs de classe :

print(Dog.species)  # Canis familiaris

Créer des objets à partir d'une classe :

dog1 = Dog()
dog2 = Dog()

Ajouter des attributs individuels aux objets :

dog1.name = "Nicky"
dog1.breed = "Siberian Husky"

dog2.name = "Teemon"
dog2.breed = "Shu'ali"

Les objets peuvent accéder à la fois à leurs attributs individuels et aux attributs de classe :

print(f"{dog1.name} is a {dog1.breed}")  # Attributs individuels
print(f"Species: {Dog.species}")          # Attribut de classe

Essayez vous-même

# Importer la classe Student
from student import Student

# TODO: Créer deux objets student


# TODO: Ajouter des attributs à student1


# TODO: Ajouter des attributs à student2


# Afficher les informations de l'étudiant
print(f"{student1.name} has grade {student1.grade} at {Student.school}")
print(f"{student2.name} has grade {student2.grade} at {Student.school}")
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Object Oriented Programming