1 2 3 4 5 | class Noga: def start(self, a): self.ktora=a def pokaz(self): print(self.ktora) |
klasa Noga ma dwie metody, 'start' gdzie poprzez zmienną 'a' przekazuje parametr do zmiennej self.ktora ...
Zwyczajowo powinno to być zapisane tak:
1 2 3 4 5 | class Noga: def start(self, ktora): self.ktora=ktora def pokaz(self): print(self.ktora) |
ale przykład pierwszy bardziej obrazowo przedstawia, że to zmienna podana w nawiasie po self czyli a, przenosi parametr do zmiennej nazwanej self.ktora. W dalszej części będę pisać tak jak w drugim przykładzie.
po co mamy self? o tym za chwilę po stworzeniu obiektu
Druga metoda 'pokaz' wyświetla nam zmienną odebraną przez 'start'.
Tworzenie Obiektu
Teraz na bazie tej tej klasy tworzymy 2 obiekty nazwane pierwsza i druga:
pierwsza = Noga() druga = Noga()
Stworzyliśmy obiekty, możemy wywoływać metody.
Wywołanie metody
nazwaobiektu.metoda(parametr)
Poprzez wywołanie metody 'start' pierwszemu obiektowi nadajemy parametr PRAWA, drugiemu LEWA. (to za pomocą zmiennej 'a' z pierwszego przykładu, parametry w tym przypadku stringi "PRAWA" i "LEWA" przekazywane są do zmiennej self.ktora wewnątrz obiektu)
1 2 | pierwsza.start("PRAWA") druga.start("LEWA") |
Teraz wywołujemy metodą 'pokaz' dla jednego i drugiego obiektu.(bez parametrów)
1 2 | pierwsza.pokaz() druga.pokaz() |
czego wynikiem jest wyświetlenie
PRAWA
LEWA
Poprzez stworzenie jednej klasy, możemy w łatwy sposób tworzyć dowolną ilość różnych obiektów, które posiadają cechy klasy,mają indywidualne zmienne którym nadajemy różne wartości.
Jak dostać się do tych indywidualnych zmiennych z obiektu?
Tutaj wyjaśnia się czym jest self...referencją do nazwy obiektu. Aby dostać się do zmiennej self.która obiektu 'pierwsza', w miejsce self wpisujemy nazwę obiektu,
czyli:
1 | print(pierwsza.ktora) |
wydrukuje nam:
PRAWA
tym samym tworząc w klasie jedną zmienną self.ktora, poprzez tworzenie kolejnych obiektów tworzymy kolejne zmienne o nazwie nazwaobiektu.ktora w sposób łatwy i szybki.
Co najważniejsze teraz poprawiamy kod w jednym miejscu. Poprawka w klasie wpływa na wszystkie obiekty które z niego powstały.
Realizujemy zasadę DRY czyli don't repeat yourself.