Podstawy programowania obiektowego w Pythonie cz.2

Podczas tworzenia egzemplarza klasy wykonywana jest specjalna metoda __init__(), którą można utożsamiać z konstruktorem z innych języków. Ma ona postać:

def __init__(self, arg1, arg2, ... ):
    pass

Pierwszym argumentem jest domyślnie self, który stanowi referencję do bieżącej instancji klasy. Pozostałe argumenty są opcjonalne i podobnie jak w konstruktorach z innych języków służą do ustawiania wartości atrybutów. Nazwy atrybutów instancji także muszą być poprzedzone zmienną self.

Oprócz zmiennych instancji istnieją również zmienne klasy. Przechowują wartości, które są takie same dla wszystkich instancji klasy. Możliwe jest również wyświetlenie wartości tych zmiennych bez tworzenia egzemplarza klasy, tylko poprzez podanie nazwy klasy np. dla klasy Employee tworzymy zmienną przechowującą wartość procentową premii do pensji, którą otrzymuje każdy pracownik tzn.

class Employee:
    bonus = 10
    def __init__(self, name, salary):
        self.name = name
        self.salary = salary
john_doe = Employee('John Doe', 8000)    # utworzenie instancji klasy
print(john_doe.name)    # wyświetla wartość atrybutu name instancji
print(john_doe.bonus)   # wyświetla wartość zmiennej klasy z instancji
print(Employee.bonus)   # wyświetla wartość zmiennej klasy

>>część trzecia<<

Dodaj komentarz

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