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

Usunięta treść Dodana treść
Piotr (dyskusja | edycje)
m →‎Definiowanie klas: z brudnopisu
Linia 178:
 
== Definiowanie klas ==
 
Python jest całkowicie zorientowany obiektowo: możesz definiować własne klasy, dziedziczyć ze swojej lub jakiejś wbudowanej klasy, a także tworzyć instancję zdefiniowanej przez siebie klasy.
 
Definiowanie klasy w Pythonie jest proste. Podobnie jak z funkcjami, nie używamy odzielnego interfejsu definicji. Ściśle definiujemy klasę i rozpoczynamy kodowanie. Klasa w Pythonie rozpoczyna się zastrzeżonym słowem <tt>class</tt>, po którym następuje nazwa klasy. Technicznie, jest to wszystko, co jest wymagane, ponieważ klasa nie musi być dziedziczona z innej klasy.
 
'''Przykład 5.3. Prosta klasa'''
 
class Nicosc: #(1)
pass #(2) (3)
 
# Nazwa tej klasy to <tt>Nicosc</tt>, która nic nie dziedziczy z innej klasy. Nazwy klasy są zazwyczaj pisane przy użyciu wielkich liter np. <tt>KazdeSlowoOdzieloneWielkaLitera</tt>, ale jest to tylko konwencja, nie jest to wymagane.
# Klasa ta nie definiuje żadnej metody, czy atrybutów, lecz żeby kod był zgodny ze składnią Pythona, musimy coś umieści w definicji, tak więc użyliśmy <tt>pass</tt>. Jest to zastrzeżone przez Pythona słowo, które mówi interpreterowi „przejdź dalej, nic tu nie ma”. Instrukacja ta nic nie wykonuje i powinnośmy wstawiać ją, jeśli chcemy aby nasza funkcja lub klasa nic nie posiadała, wykonywała.
# Prawdopodobnie zauważyliście już to, że elementy w klasie są wyszczególnione za pomocą wcięć, podobnie jak kod funkcji, instrukcje warunkowe, pętle itp. Pierwsza nie wcięta instrukcja nie będzie należała do klasy.
 
{{Infobox|
tekst=Instrukcja <tt>pass</tt> w Pythonie jest analogiczna do pustego zbioru nawiasów klamrowych ({}) w Javie lub języku C.
}}
 
== Tworzenie instacji klas ==
== Exploring UserDict: A Wrapper Class ==