Python OOP: Klass, Objekt, Arv och Konstruktör med exempel
OOPs in Python
OOPs in Python är ett programmeringssätt som fokuserar på att använda objekt och klasser på samma sätt som andra allmänna programmeringsspråk. Objekten kan vara alla verkliga enheter. Python tillåter utvecklare att utveckla applikationer med hjälp av OOPs-metoden med stort fokus på kodåteranvändbarhet. Det är väldigt enkelt att skapa klasser och objekt i Python.
Vad är en klass?
En klass i Python är en logisk gruppering av data och funktioner. Det ger friheten att skapa datastrukturer som innehåller godtyckligt innehåll och därmed lättillgängliga.
Till exempel, för alla bankanställda som vill hämta kunduppgifterna online skulle gå till kundklass, där alla dess attribut som transaktionsdetaljer, uttags- och insättningsdetaljer, utestående skulder etc. skulle listas.
Hur man definierar Python klasser
För att definiera klass måste du överväga följande punkter
Steg 1) In Python, klasser definieras av "Klass" sökord
class myClass():
Steg 2) Inuti klasser kan du definiera funktioner eller metoder som ingår i denna klass
def method1 (self): print "Guru99" def method2 (self,someString): print "Software Testing:" + someString
- Här har vi definierat metod1 som skriver ut "Guru99."
- En annan metod som vi har definierat är metod2 som skriver ut "Software Testing"+ SomeString. SomeString är variabeln som tillhandahålls av anropsmetoden
Steg 3) Allt i en klass är indraget, precis som koden i funktionen, loopen, if-satsen, etc. Allt som inte är indraget finns inte i klassen
ANMÄRKNINGAR: Om att använda "själv" i Python
- Självargumentet syftar på själva objektet. Därav användningen av ordet jag. Så inuti den här metoden kommer jag att referera till den specifika instansen av detta objekt som opereras.
- Själv är namnet som föredras av konventionen Pythons för att indikera den första parametern av instansmetoder i Python. Det är en del av Python syntax för att komma åt medlemmar av objekt
Steg 4) Att göra ett objekt av klassen
c = myClass()
Steg 5) Att anropa en metod i en klass
c.method1() c.method2(" Testing is fun")
- Lägg märke till att när vi anropar metod1 eller metod2 behöver vi inte ange självsökordet. Det hanteras automatiskt åt oss av Python körning.
- Python runtime kommer att skicka "själv" värde när du anropar en instansmetod på i instans, oavsett om du tillhandahåller den avsiktligt eller inte
- Du måste bara bry dig om icke-jag-argumenten
Steg 6) Här är den fullständiga koden
# 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()
Hur arv fungerar
Arv är en funktion som används i objektorienterad programmering; det hänvisar till att definiera en ny klass med mindre eller ingen modifiering av en befintlig klass. Den nya klassen heter härledd klass och från en som den ärver kallas den bas. Python stöder arv; den stöder också flera arv. En klass kan ärva attribut och beteendemetoder från en annan klass som kallas underklass eller arvingsklass.
Python Arvssyntax
class DerivedClass(BaseClass): body_of_derived_class
Steg 1) Kör följande 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()
Observera att metod1 i childClass inte är definierad utan härleds från den överordnade myClass. Utdata är "Guru99."
Steg 2) Avkommentera rad #8 & 10. Kör koden
Nu är metod 1 definierad i childClass och utgången "childClass Method1" visas korrekt.
Steg 3) Avkommentera rad #9. Kör koden
Du kan anropa en metod för den överordnade klassen med hjälp av syntaxen
ParentClassName.MethodName(self)
I vårt fall anropar vi, myClass.method1(self) och Guru99 skrivs ut som förväntat
steg 4) Avkommentar rad #19. Kör koden.
Metod 2 för barnklassen anropas och "childClass method2" skrivs ut som förväntat.
Python konstruktörer
En konstruktor är en klassfunktion som instansierar ett objekt till fördefinierade värden.
Det börjar med ett dubbelt understreck (_). It __init__() metod
I exemplet nedan tar vi namnet på användaren som använder konstruktorn.
class User: name = "" def __init__(self, name): self.name = name def sayHello(self): print("Welcome to Guru99, " + self.name) User1 = User("Alex") User1.sayHello()
Produktionen kommer att vara:
Välkommen till Guru99, Alex
Python 2 Exempel
Ovanstående koder är Python 3 exempel, om du vill springa in Python 2 överväg följande 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()
Lär dig vår nästa handledning om Polymorfism i Python
Sammanfattning
"Klass" är en logisk gruppering av funktioner och data. Python klass tillhandahåller alla standardfunktioner för objektorienterad programmering.
- Klassarvsmekanism
- En härledd klass som åsidosätter alla metoder i dess basklass
- En metod kan anropa metoden för en basklass med samma namn
- Python Klasser definieras av nyckelord "klass" sig
- Inuti klasser kan du definiera funktioner eller metoder som ingår i klassen
- Allt i en klass är indraget, precis som koden i funktionen, loopen, if-satsen osv.
- Självargumentet i Python hänvisar till själva objektet. Själv är namnet som föredras av konventionen Pythons för att indikera den första parametern av instansmetoder i Python
-
Python runtime kommer att skicka "själv" värde automatiskt när du anropar en instansmetod på i instans, oavsett om du tillhandahåller den avsiktligt eller inte
- In Python, kan en klass ärva attribut och beteendemetoder från en annan klass som kallas underklass eller arvingsklass.