Wprowadzenie do programowania obiektowego w Pythonie

Opublikowane przez Mateusz Kędziora w dniu

img LgWlXjgl6KxmAZyVIpCg1e2j

Programowanie obiektowe to styl programowania, w którym dane oraz operacje na nich wykonywane są zorganizowane wokół „obiektów”. Obiekt to pojęcie pochodzące z matematyki, które w informatyce oznacza coś, co ma stan i zachowanie. W programowaniu obiektowym obiekty są tworzone na podstawie tzw. „klasy”, która określa, jakie atrybuty (czyli właściwości) i metody (czyli funkcje) powinny posiadać dane obiekty.

Tworzenie klasy w Pythonie rozpoczynamy od słowa kluczowego „class”, po którym następuje nazwa klasy. W nawiasach podajemy nazwę klasy, od której ta klasa dziedziczy (tzw. „klasa bazowa”), jeśli taka jest. Wewnątrz definicji klasy tworzymy atrybuty i metody za pomocą słowa kluczowego „self”. Przykład:

class Samochod:
    def __init__(self, marka, model, pojemnosc_silnika):
        self.marka = marka
        self.model = model
        self.pojemnosc_silnika = pojemnosc_silnika
        self.przebieg = 0
    
    def przejedz_dystans(self, dystans):
        self.przebieg += dystans

W powyższym przykładzie tworzymy klasę „Samochod”, która posiada trzy atrybuty: „marka”, „model” i „pojemnosc_silnika”. Klasa ta również posiada metodę „przejedz_dystans”, która pozwala na zwiększenie wartości atrybutu „przebieg” o daną wartość dystansu.

Aby utworzyć obiekt na podstawie klasy, wywołujemy konstruktor klasy, czyli metodę __init__. Konstruktor jest wywoływany automaticky podczas tworzenia obiektu i służy do inicjalizacji atrybutów obiektu. Przykład:

moj_samochod = Samochod("Ford", "Mustang", 5.0)
print(moj_samochod.marka) # "Ford"
print(moj_samochod.model) # "Mustang"
print(moj_samochod.pojemnosc_silnika) # 5.0
print(moj_samochod.przebieg) # 0

Aby wywołać metodę obiektu, używamy kropki (.) i podajemy nazwę metody oraz argumenty, jeśli są potrzebne. Przykład:

moj_samochod.przejedz_dystans(100)
print(moj_samochod.przebieg) # 100

Programowanie obiektowe pozwala na tworzenie struktury klas, w których jedna klasa może dziedziczyć cechy innej klasy (tzw. „klasy potomne”). W Pythonie dziedziczenie odbywa się poprzez podanie nazwy klasy bazowej w nawiasach podczas tworzenia klasy potomnej. Przykład:

class SamochodOsobowy(Samochod):
    def __init__(self, marka, model, pojemnosc_silnika, liczba_miejsc):
        super().__init__(marka, model, pojemnosc_silnika)
        self.liczba_miejsc = liczba_miejsc

moj_samochod_osobowy = SamochodOsobowy("Ford", "Mustang", 5.0, 4)
print(moj_samochod_osobowy.marka) # "Ford"
print(moj_samochod_osobowy.liczba_miejsc) # 4

W powyższym przykładzie tworzymy klasę „SamochodOsobowy”, która dziedziczy po klasie „Samochod”. Klasa ta posiada dodatkowy atrybut „liczba_miejsc” oraz wywołuje konstruktor klasy bazowej za pomocą funkcji super().

Podsumowując, programowanie obiektowe pozwala na tworzenie struktury kodu, w której dane i operacje są zorganizowane wokół obiektów. Klasy są szablonami do tworzenia obiektów, a obiekty posiadają atrybuty i metody. Dzięki dziedziczeniu możemy tworzyć hierarchie klas, gdzie klasy potomne dziedziczą cechy klas bazowych i mogą je rozszerzać o swoje własne. Programowanie obiektowe pozwala na lepszą organizację kodu oraz umożliwia jego łatwiejsze rozszerzanie i utrzymanie.

Tekst wygenerowany przy pomocy chat.openai.com.

Kategorie: Python

Mateusz Kędziora

Jestem uczniem technikum a prowadzeniem bloga zajmuje się hobbystycznie.

Dodaj komentarz

Avatar placeholder

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *