Menu
Coddy logo textTech

Klassen vs. Objekte

Teil des Abschnitts Object Oriented Programming der Python-Journey von Coddy — Lektion 3 von 64.

Klassen und Objekte dienen unterschiedlichen Zwecken. Eine Klasse ist ein Bauplan, während ein Objekt das ist, was Sie aus diesem Bauplan erstellen.

Hier ist ein Beispiel für eine Klasse:

class Dog:
	# gemeinsam von allen Hunden genutzt
    species = "Canis familiaris"

Jetzt können wir direkt auf das Klassenattribut zugreifen, indem wir Dog.species verwenden, wobei Dog der Klassenname ist:

print(f"Class species: {Dog.species}")
# Class species: Canis familiaris

Dies greift auf Daten von der Klasse selbst zu, nicht von einem bestimmten Objekt.

Jetzt schauen wir uns an, wie es in Objekten funktioniert. Erstellen Sie Objekte aus der Klasse Dog:

dog1 = Dog()
dog2 = Dog()

Objekte können individuelle Attribute haben, die Klassen nicht haben können:

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

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

Vergleichen Sie, was Klassen und Objekte tun können:

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}")

Ausgabe:

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

Hauptunterschied: Die Klasse Dog definiert, was alle Hunde gemeinsam haben, während die Objekte dog1 und dog2 spezifische, individuelle Hunde mit einzigartigen Eigenschaften darstellen.

challenge icon

Aufgabe

Einfach

Vervollständige den Code, um eine Student-Klasse und zwei Studenten-Objekte zu erstellen. Füge jedem Studenten unterschiedliche Namen und Noten hinzu.

  • student.py: Hier definierst du deine Student-Klasse.
  • driver.py: Hauptausführungsdatei, die deine Student-Klasse importiert und verwendet:

    Vervollständige den Code, um eine Student-Klasse und zwei Studenten-Objekte zu erstellen. Füge jedem Studenten unterschiedliche Namen und Noten hinzu.

    Der Name von student1 ist "Alice" mit der Note "A".

    Der Name von student2 ist "Bob" mit der Note "B".

Spickzettel

Eine Klasse ist ein Bauplan, der gemeinsame Attribute und Verhaltensweisen definiert. Ein Objekt ist eine Instanz, die aus dieser Klasse mit individuellen Eigenschaften erstellt wurde.

Definiere eine Klasse:

class Dog:
    # Klassenattribut - wird von allen Instanzen geteilt
    species = "Canis familiaris"

Greife direkt auf Klassenattribute zu:

print(Dog.species)  # Canis familiaris

Erstelle Objekte aus einer Klasse:

dog1 = Dog()
dog2 = Dog()

Füge Objekten individuelle Attribute hinzu:

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

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

Objekte können sowohl auf ihre individuellen Attribute als auch auf Klassenattribute zugreifen:

print(f"{dog1.name} is a {dog1.breed}")  # Individuelle Attribute
print(f"Species: {Dog.species}")          # Klassenattribut

Probier es selbst

# Importiere die Student-Klasse
from student import Student

# TODO: Erstelle zwei Student-Objekte


# TODO: Füge Attribute zu student1 hinzu


# TODO: Füge Attribute zu student2 hinzu


# Gib die Studenteninformationen aus
print(f"{student1.name} has grade {student1.grade} at {Student.school}")
print(f"{student2.name} has grade {student2.grade} at {Student.school}")
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Object Oriented Programming