Python dla początkujących – Podstawy programowania – Podstawy OOP w Python [9]

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 Interpreter Python

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.
What’s your Reaction?
+1
0
+1
0
+1
0
+1
0
+1
0

Leave a Reply