Menu
Coddy logo textTech

Klasy a obiekty

Część sekcji Programowanie obiektowe ścieżki Python w Coddy. Lekcja 3 z 64.

Klasy i obiekty służą różnym celom. Klasa jest planem, a obiekt to coś, co tworzysz na jego podstawie.

Oto przykład klasy:

class Dog:
	# wspólne dla wszystkich psów
    species = "Canis familiaris"

Teraz możemy uzyskać bezpośredni dostęp do atrybutu klasy za pomocą Dog.species, gdzie Dog jest nazwą klasy:

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

Uzyskuje dostęp do danych samej klasy, a nie żadnego konkretnego obiektu.

Teraz przyjrzyjmy się, jak działa to w przypadku obiektów. Utwórz obiekty klasy Dog:

dog1 = Dog()
dog2 = Dog()

Obiekty mogą mieć indywidualne atrybuty, których klasy nie mogą mieć:

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

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

Porównaj, co mogą robić klasy i obiekty:

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

Wynik:

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

Kluczowa różnica: Klasa Dog definiuje cechy wspólne wszystkich psów, natomiast obiekty dog1 i dog2 reprezentują konkretne, pojedyncze psy o unikalnych właściwościach.

challenge icon

Wyzwanie

Łatwy

Uzupełnij kod, aby utworzyć klasę Student i dwa obiekty uczniów. Dodaj każdemu uczniowi inne imię i ocenę.

  • student.py: Tutaj zdefiniujesz klasę Student.
  • driver.py: Główny plik wykonawczy, który zaimportuje klasę Student i będzie z niej korzystać:

    Uzupełnij kod, aby utworzyć klasę Student i dwa obiekty uczniów. Dodaj każdemu uczniowi inne imię i ocenę.

    Imię student1 to "Alice", a ocena to "A".

    Imię student2 to "Bob", a ocena to "B".

Spróbuj swoich sił

# Zaimportuj klasę Student
from student import Student

# TODO: Utwórz dwa obiekty uczniów


# TODO: Dodaj atrybuty do student1


# TODO: Dodaj atrybuty do student2


# Wyświetl informacje o uczniach
print(f"{student1.name} has grade {student1.grade} at {Student.school}")
print(f"{student2.name} has grade {student2.grade} at {Student.school}")
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Programowanie obiektowe

Poćwicz samodzielnie: Kompilator Python online