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 self odnosi 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.