Blog (3)
Komentarze (0)
Recenzje (0)

Metody klasy w Pythonie - tworzenie alternatywnych konstruktorów

Strona główna@skwMetody klasy w Pythonie - tworzenie alternatywnych konstruktorów
20.07.2021 08:23

Metody klasy mogą stanowić sposób na tworzenie alternatywnych konstruktorów o różnej liczbie argumentów (przeciążanie konstruktora) np. biorąc pod uwagę przykładową klasę Employee, która jako argumenty przyjmuje nazwę pracownika i wartość pensji, możemy utworzyć metodę klasy, która przyjmie 3 argumenty: imię, nazwisko i wartość wynagrodzenia i zwraca egzemplarz klasy Employee.

class Employee:
    def __init__(self, name, salary):
        self.name = name
        self.salary = salary

    @classmethod
    def from_full_name(cls, first, last, salary):
        name = '{} {}'.format(first, last)
        return cls(name, salary)


john_doe = Employee.from_full_name('John', 'Doe', 8000)

Oprócz metod klasy istnieją też metody statyczne, które są poprzedzone dekoratorem @staticmethod. Metody statyczne nie przyjmują jako argumentu ani odwołania self do instancji, ani cls do klasy. Mogą przyjmować jawne argumenty, będące parametrami tych funkcji. Funkcje statyczne są powiązane tematycznie z klasą, w której są zawarte, ale nie powinny operować na zmiennych klasy lub instancji.

bEqPqkMT

źródło: www.slawomirkwiatkowski.pl

bEqPqkNP