Zanurkuj w Pythonie/Obiekty i klasy: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Piotr (dyskusja | edycje)
Piotr (dyskusja | edycje)
Linia 195:
tekst=Instrukcja <tt>pass</tt> w Pythonie jest analogiczna do pustego zbioru nawiasów klamrowych ({}) w Javie lub języku C++.
}}
 
Większość klas, do których definiujemy własne metody i atrybuty, dziedziczy z innych klas. Jak przed chwilą mogliśmy zobaczyć, klasa nie musi nic w sobie zawierać, poza nazwą. W szczególności programiści C++ mogą zauważyć, że w Pythonie klasy nie mają wyraźnie sprecyzowanych konstruktorów i destruktorów. Pythonowe klasy mają coś, co nieco przypomina konstruktor - metodę <tt>__init__</tt>.
 
 
'''Przykład 5.4. Definiowanie klasy FileInfo'''
from UserDict import UserDict
class FileInfo(UserDict): #(1)
 
# W Pythonie przodek klasy jest po prostu wyszczególnioniony w nawiasach okrągłych, umieszczonych bezpośrednio po nazwie naszej klasy. Tak więc klasa <tt>FileInfo</tt> dziedziczy klasę <tt>UserDict</tt> (klasa ta jest została zaimportowana z modułu <tt>UserDict</tt>). Klasa UserDict działa podobnie jak słownik, pozwala ona dzidziczyć typ danych jakim jest słownik, a także zmieniać jego zachowanie. (Mamy także podobne klasy - UserList i UserString, które umożliwiają dzidziczenie z list i stringów.) Może być to trochę nie zrozumiałe, ale jeszcze w tym rozdziale lepiej omówimy klasę <tt>UserDict</tt>.
 
{{Infobox|
tekst=W Pythonie przodek danej klasy jest wyszczególnioniony w nawiasach okrągłych, umieszczonych bezpośrednio po nazwie naszej klasy. Python nie posiada specjalnego słowa kluczowego jak np. <tt>extends</tt> w Javie.}}
 
Python obsługuje dziedziczenie wielokrotne. Wystarczy w nawiasach okrągłych, umiejscowionych zaraz po nazwie klasy wstawić nazwy klas z których chcemy dziedziczyć i oddzielić je przecinkami np. <tt>class klasa(klasa1,klasa2)</tt>.
 
== Tworzenie instacji klas ==