Programowanie obiektowe w Pythonie Wprowadzenie
1. Czym jest programowanie obiektowe (OOP)?
Programowanie obiektowe (Object-Oriented Programming, OOP) to paradygmat programowania, który koncentruje się na obiektach – jednostkach łączących dane oraz logikę działania.
- Dane w obiektach reprezentowane są jako atrybuty (pola).
- Logika (zachowania) obiektów opisana jest w postaci metod (funkcji wewnątrz klasy).
Główna idea OOP
- Rzeczywisty świat można odwzorować w programie poprzez obiekty.
- Obiekty mają cechy (np. kolor, imię, wiek) oraz zachowania (np. mówienie, poruszanie się, obliczanie).
- Dzięki OOP programy są bardziej modułowe, czytelne i łatwiejsze w rozbudowie.
Podstawowe pojęcia
- Klasa – „przepis” albo „szablon” definiujący, jakie atrybuty i metody będą miały tworzone obiekty.
- Obiekt (instancja klasy) – konkretny egzemplarz klasy, stworzony na jej podstawie.
- Instancja – inna nazwa obiektu utworzonego z klasy.
Przykład w życiu codziennym:
- Klasa: Samochód (definicja: ma markę, model, kolor, metodę „jedź”)
- Obiekt:
Samochód("Toyota", "Corolla", "czerwony")– to jeden konkretny samochód. - Kolejna instancja:
Samochód("BMW", "X5", "czarny")– inny egzemplarz tej samej klasy.
2. Pierwsze klasy i obiekty w Pythonie
Definicja klasy
W Pythonie klasę definiuje się za pomocą słowa kluczowego class:
Konstruktor __init__
Konstruktor to specjalna metoda o nazwie __init__, która wywoływana jest automatycznie podczas tworzenia obiektu.
- Parametr
selfodnosi się do aktualnej instancji (obiektu). - W konstruktorze można ustawić wartości początkowe atrybutów obiektu.
Tworzenie instancji (obiektów)
Aby utworzyć obiekt, należy wywołać klasę jak funkcję, przekazując do konstruktora wymagane argumenty:
Dostęp do atrybutów
Po utworzeniu obiektu możemy korzystać z jego pól (atrybutów) i metod:
3. Podsumowanie – najważniejsze pojęcia
- Klasa → wzór, szablon, plan obiektu.
- Obiekt (instancja) → konkretny egzemplarz klasy.
- Atrybut → cecha obiektu (np. marka, model).
- Metoda → zachowanie obiektu (np. jedź, zatrzymaj się).
- Konstruktor
__init__→ metoda wywoływana przy tworzeniu obiektu, pozwala nadać mu początkowe wartości.