Python OOP-ovi: klasa, objekt, nasljeđivanje i konstruktor s primjerom
OOPs in Python
OOPs in Python je programski pristup koji se fokusira na korištenje objekata i klasa kao i drugi opći programski jezici. Objekti mogu biti bilo koji entiteti iz stvarnog svijeta. Python omogućuje razvojnim programerima da razvijaju aplikacije koristeći OOP pristup s glavnim fokusom na ponovnu upotrebu koda. Vrlo je lako kreirati klase i objekte Python.
Što je klasa?
Razred u Python je logično grupiranje podataka i funkcija. Daje slobodu stvaranja struktura podataka koje sadrže proizvoljan sadržaj i stoga su lako dostupne.
Na primjer, bilo koji bankovni zaposlenik koji želi dohvatiti podatke o klijentu putem interneta otišao bi na klasa kupaca, gdje bi svi njegovi atributi poput pojedinosti o transakciji, pojedinosti o povlačenju i uplati, nepodmirenom dugu itd. bili navedeni.
Kako definirati Python Nastava
Za definiranje klase morate uzeti u obzir sljedeće točke
Korak 1) In Python, klase su definirane pomoću “Razred” ključne riječi
class myClass():
Korak 2) Unutar klasa možete definirati funkcije ili metode koje su dio ove klase
def method1 (self): print "Guru99" def method2 (self,someString): print "Software Testing:" + someString
- Ovdje smo definirali metodu1 koja ispisuje "Guru99."
- Još jedna metoda koju smo definirali je metoda2 koja ispisuje “Testiranje softvera”+ Neki niz. SomeString je varijabla koju daje pozivajuća metoda
Korak 3) Sve u klasi je uvučeno, baš kao kod u funkciji, petlji, if naredbi itd. Sve što nije uvučeno nije u klasi
BILJEŠKA: O korištenju "sebe" u Python
- Samoargument se odnosi na sam predmet. Otuda i upotreba riječi ja. Dakle, unutar ove metode, self će se odnositi na specifičnu instancu ovog objekta na kojem se radi.
- Self je ime koje prema konvenciji preferira Pythons za označavanje prvog parametra metoda instance u Python, To je dio Python sintaksa za pristup članovima objekata
Korak 4) Napraviti objekt klase
c = myClass()
Korak 5) Pozvati metodu u klasi
c.method1()
c.method2(" Testing is fun")
- Primijetite da kada pozivamo method1 ili method2, ne moramo unijeti vlastitu ključnu riječ. To za nas automatski rješava Python vrijeme izvođenja.
- Python runtime će proslijediti "self" vrijednost kada pozovete metodu instance na instanci, bez obzira jeste li je unijeli namjerno ili ne
- Samo se morate brinuti o ne-jastim argumentima
Korak 6) Ovdje je kompletan kod
# Example file for working with classes
class myClass():
def method1(self):
print("Guru99")
def method2(self,someString):
print("Software Testing:" + someString)
def main():
# exercise the class methods
c = myClass ()
c.method1()
c.method2(" Testing is fun")
if __name__== "__main__":
main()
Kako funkcionira nasljeđivanje
Nasljeđivanje je značajka koja se koristi u objektno orijentiranom programiranju; odnosi se na definiranje nove klase s manje ili bez izmjena postojeće klase. Nova klasa se zove izvedena klasa a od one koju nasljeđuje naziva se baza. Python podržava nasljedstvo; također podržava višestruko nasljeđivanje. Klasa može naslijediti atribute i metode ponašanja od druge klase koja se naziva podklasa ili klasa nasljednica.
Python Sintaksa nasljeđivanja
class DerivedClass(BaseClass):
body_of_derived_class
Korak 1) Pokrenite sljedeći kod
# Example file for working with classes
class myClass():
def method1(self):
print("Guru99")
class childClass(myClass):
#def method1(self):
#myClass.method1(self);
#print ("childClass Method1")
def method2(self):
print("childClass method2")
def main():
# exercise the class methods
c2 = childClass()
c2.method1()
#c2.method2()
if __name__== "__main__":
main()
Primijetite da in childClass, method1 nije definiran, ali je izveden iz nadređenog myClass. Rezultat je "Guru99."
Korak 2) Odkomentirajte redak # 8 i 10. Pokrenite kod
Sada je metoda 1 definirana u childClass i izlaz “childClass Method1” je ispravno prikazan.
Korak 3) Odkomentirajte redak #9. Pokrenite kod
Možete pozvati metodu nadređene klase pomoću sintakse
ParentClassName.MethodName(self)
U našem slučaju, pozivamo, myClass.method1(self) i Guru99 se ispisuje kako se očekuje
Korak 4) Odkomentirajte redak #19. Pokrenite kod.
Poziva se metoda 2 podređene klase i ispisuje se "childClass method2" prema očekivanjima.
Python Konstruktori
Konstruktor je funkcija klase koja instancira objekt prema unaprijed definiranim vrijednostima.
Počinje dvostrukom podvlakom (_). To je metoda __init__().
U donjem primjeru uzimamo ime korisnika pomoću konstruktora.
class User:
name = ""
def __init__(self, name):
self.name = name
def sayHello(self):
print("Welcome to Guru99, " + self.name)
User1 = User("Alex")
User1.sayHello()
Izlaz će biti:
Dobro došao u Guru99, Alex
Python 2 Primjer
Gornji kodovi su Python 3 primjera, ako želite ući Python 2 razmotrite sljedeći kod.
# How to define Python classes
# Example file for working with classes
class myClass():
def method1(self):
print "Guru99"
def method2(self,someString):
print "Software Testing:" + someString
def main():
# exercise the class methods
c = myClass ()
c.method1()
c.method2(" Testing is fun")
if __name__== "__main__":
main()
#How Inheritance works
# Example file for working with classes
class myClass():
def method1(self):
print "Guru99"
class childClass(myClass):
#def method1(self):
#myClass.method1(self);
#print "childClass Method1"
def method2(self):
print "childClass method2"
def main():
# exercise the class methods
c2 = childClass()
c2.method1()
#c2.method2()
if __name__== "__main__":
main()
Saznajte o našem sljedećem vodiču Polimorfizam u Python
Rezime
“Klasa” je logično grupiranje funkcija i podataka. Python klasa pruža sve standardne značajke objektno orijentiranog programiranja.
- Mehanizam nasljeđivanja klasa
- Izvedena klasa koja nadjačava bilo koju metodu svoje osnovne klase
- Metoda može pozvati metodu osnovne klase s istim imenom
- Python Klase su definirane ključnom riječi “razred” sebe
- Unutar klasa možete definirati funkcije ili metode koje su dio klase
- Sve u klasi je uvučeno, baš kao kod u funkciji, petlji, if naredbi itd.
- Argument o sebi u Python odnosi se na sam predmet. Self je ime koje prema konvenciji preferira Pythons za označavanje prvog parametra metoda instance u Python
-
Python runtime će automatski proslijediti "self" vrijednost kada pozovete metodu instance na instanci, bez obzira dali ste je namjerno ili ne
- In Python, klasa može naslijediti atribute i metode ponašanja od druge klase koja se naziva podklasa ili klasa nasljednik.


