|
Rozdział 8: Klasy
1: Terminologia- 2: Przestrzenie i zasięgi nazw w Pythonie- 3: Składnia definicji klasy
- 4: Obiekty klasy 5: Obiekty konkretu klasy- 6: Obiekty metod- 7: Luźne uwagi
- 8: Dziedziczenie- 9: Dziedziczenie wielorakie 10: Zmienne prywatne- 11: Sztuczki i chwyty
- 12: Wjątki mogą być klasami
Lekcja 3: Składnia definicji klasy
Klasy wymagają użycia pewnej nowej składni, trzech nowych typów obiektowych i trochę nowej semantyki.
Najprostszą formą definicji klasy jest:
class NazwaKlasy:
(instrukcja-1)
.
.
.
(instrukcja-N)
-
Definicje klas, podobnie jak definicje funkcji (instrukcja def) muszą zostać wykonane, zanim zostaną użyte (można umieścić definicję klasy w rozgałęzieniu instrukcji if lub wewnątrz funkcji).
W praktyce, instrukcje wewnątrz definicji klasy będą definicjami funkcji, ale również dozwolone są inne, czasem bardzo użyteczne. Definicja funkcji w ciele klasy posiada zwykle szczególną formę listy argumentów formalnych, dedykowanych szczególnej konwencji wywoływania metod (czyli funkcji zdefiniowanych dla obiektów klas).
Kiedy wprowadza się definicję klasy do programu, tworzona jest nowa przestrzeń nazw używana jako zasięg lokalny nazw - w ten sposób, wszystkie przypisania do zmiennych lokalnych dotyczą nazw z tej właśnie przestrzeni. W szczególności, definicja funkcji powoduje powiązanie jej nazwy z obiektem tej funkcji w lokalnej przestrzeni nazw klasy.
Kiedy definicja klasy się kończy, tworzony jest obiekt klasy. Jest to rodzaj opakowania dla przestrzeni nazw stworzonej przez definicję klasy. Zasięg pierwotny (ten, który obowiązywał przed rozpoczęciem definicji klasy) jest przywracany, a nowo utworzony obiekt klasy powiązany zostaje z jej nazwą, która została podana w nagłówku definicji klasy (w tym przypadku NazwaKlasy).
|
|