Podstawy OOP w Python
OOP w Pythonie to podejście do programowania, które koncentruje się na używaniu obiektów i klas tak samo, jak w innych ogólnych językach programowania. Obiekty mogą być dowolnymi obiektami ze świata rzeczywistego. Python umożliwia programistom tworzenie aplikacji przy użyciu podejścia OOP, z głównym naciskiem na możliwość ponownego wykorzystania kodu. Tworzenie klas i obiektów w Pythonie jest bardzo łatwe.
Czym jest klasa?
Klasa w Pythonie to logiczne grupowanie danych i funkcji. Daje swobodę tworzenia struktur danych, które zawierają dowolną treść, a tym samym są łatwo dostępne.
Na przykład każdy pracownik banku, który chce pobrać dane klienta online, przejdzie do klasy klienta, w której zostaną wymienione wszystkie jego atrybuty, takie jak szczegóły transakcji, szczegóły dotyczące wypłat i wpłat, zaległy dług itp.
Jak zdefiniować klasy Pythona
Aby zdefiniować klasę, należy wziąć pod uwagę następujące punkty:
Krok 1) W Pythonie klasy są definiowane przez słowo kluczowe „Class”
class mojaKlasa():
Krok 2) Wewnątrz klas możesz zdefiniować funkcje lub metody, które są częścią tej klasy
def metoda1 (self): print "Metoda pierwsza" def metoda2 (self,someString): print "Mój string:" + someString
Krok 3) Dodajemy metody do klasy
class mojaKlasa(): def metoda(self): print("Metoda pierwsza") def method2(self,someString): print("Mój string" + someString)
Krok 4) Tworzymy obiekt klasy
c = mojaKlasa()
Krok 5) Wywołujemy metodę w klasie
c.metoda1() c.metoda(" oto ja")
Pełny kod:
class mojaKlasa(): def metoda1(self): print("Metoda pierwsza") def metoda2(self,someString): print("Mój string:" + someString) def main(): c = mojaKlasa () c.metoda1() c.metoda2(" oto ja") if __name__== "__main__": main()
Jak działa dziedziczenie
Dziedziczenie to funkcja używana w programowaniu obiektowym; odnosi się do zdefiniowania nowej klasy z mniejszą ilością modyfikacji lub bez modyfikacji istniejącej klasy. Nowa klasa nazywana jest klasą pochodną, a od tej, którą dziedziczy, nazywana jest klasą bazową. Python obsługuje dziedziczenie; obsługuje również wiele dziedziczeń. Klasa może dziedziczyć atrybuty i metody zachowania z innej klasy.
Składnia dziedziczenia w Python:
class KlasaDziedziczaca(KlasaBazowa): cialo_klasy_dziedziczacej
Krok 1) Uruchom poniższy kod w [su_button url=”https://coderarmour.com/interpreter-python/” icon=”icon: python” icon_color=”#fceb28″]Interpreter Python[/su_button]
class mojaKlasa(): def metoda1(self): print("Metoda pierwsza") class KlasaPotomna(mojaKlasa): #childclass #def metoda1(self): #mojaKlasa.metoda1(self); #print ("Klasa potomna metoda1") def metoda2(self): print("Klasa potomna metoda2") def main(): c2 = KlasaPotomna() c2.metoda1() #c2.metoda2() if __name__== "__main__": main()
Zauważ, że w klasie potomnej, metoda1 nie jest zdefiniowana, ale pochodzi od rodzica MojaKlasa dane wyjściowe to „Metoda pierwsza”.
Krok 2) Odkomentuj wiersze w klasie potomnej i uruchom kod
Teraz metoda 1 jest zdefiniowana w klasie potomnej, a wynik „Klasa potomna metoda1” jest wyświetlany poprawnie.
Krok 3) Odkomentuj wiersz c2.metoda2. Uruchom kod.
Metoda 2 klasy potomnej jest wywoływana, a „Klasa potomna metoda2” jest wypisywana zgodnie z oczekiwaniami.
Konstruktory w Python
Konstruktor to funkcja klasy, która tworzy instancję obiektu do predefiniowanych wartości.
Zaczyna się od podwójnego podkreślenia (_). Jest to metoda __init__()
W poniższym przykładzie bierzemy nazwę użytkownika za pomocą konstruktora.
class Uzytkownik: name = "" def __init__(self, name): self.name = name def przywitajSie(self): print("Witaj: " + self.name) User1 = Uzytkownik("Marcin") User1.przywitajSie()
Czego się dowiedzieliśmy?
„Klasa” to logiczne grupowanie funkcji i danych. Klasa Pythona zapewnia wszystkie standardowe funkcje programowania zorientowanego obiektowo.
- Mechanizm dziedziczenia klas
- Klasa pochodna, która przesłania dowolną metodę swojej klasy bazowej
- Metoda może wywołać metodę klasy bazowej o tej samej nazwie
- Klasy Pythona są definiowane przez samo słowo kluczowe „class”
- Wewnątrz klas możesz definiować funkcje lub metody, które są częścią klasy
- Wszystko w klasie jest wcięte, podobnie jak kod w funkcji, pętli, instrukcji if itp.
- Argument self w Pythonie odnosi się do samego obiektu. Self to nazwa preferowana przez Pythona do wskazania pierwszego parametru metod instancji w Pythonie
- Środowisko uruchomieniowe Pythona automatycznie przekaże wartość „self” po wywołaniu metody instancji na instancji, niezależnie od tego, czy dostarczysz ją celowo, czy nie
- tW Pythonie klasa może dziedziczyć atrybuty i metody zachowania z innej klasy zwanej podklasą lub klasą spadkobiercy.