Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Python OOP's:klasse, object, overerving en constructor met voorbeeld

OOP's in Python

OOP's in Python is een programmeerbenadering die zich richt op het gebruik van objecten en klassen op dezelfde manier als andere algemene programmeertalen. De objecten kunnen alle bestaande entiteiten zijn. Python stelt ontwikkelaars in staat om applicaties te ontwikkelen met behulp van de OOPs-benadering met de nadruk op herbruikbaarheid van code. Het is heel gemakkelijk om klassen en objecten te maken in Python.

Wat is een klas?

Een klasse in Python is een logische groepering van gegevens en functies. Het geeft de vrijheid om datastructuren te creëren die willekeurige inhoud bevatten en dus gemakkelijk toegankelijk zijn.

Voor elke bankmedewerker die de klantgegevens online wil ophalen, gaat hij bijvoorbeeld naar klantklasse , waar alle attributen zoals transactiedetails, opname- en stortingsdetails, uitstaande schulden, enz. Worden vermeld.

In deze tutorial zullen we leren,

  • Hoe Python-klassen te definiëren
  • Hoe overerving werkt
  • Python-constructeurs

Hoe Python-klassen te definiëren

Om klasse te definiëren, moet u de volgende punten overwegen

Stap 1) In Python worden klassen gedefinieerd door de “Klasse” zoekwoord

class myClass():

Stap 2) Binnen klassen kunt u functies of methoden definiëren die deel uitmaken van deze klasse

def method1 (self):
   print "Guru99"
def method2 (self,someString): 
   print "Software Testing:" + someString
  • Hier hebben we methode1 gedefinieerd die "Guru99" afdrukt.
  • Een andere methode die we hebben gedefinieerd is methode2 die "Software Testing"+ SomeString afdrukt. SomeString is de variabele geleverd door de aanroepmethode

Stap 3) Alles in een klasse is ingesprongen, net als de code in de functie, lus, if-statement, enz. Alles wat niet is ingesprongen, zit niet in de klasse

OPMERKING :Over het gebruik van "zelf" in Python

  • Het zelfargument verwijst naar het object zelf. Vandaar het gebruik van het woord zelf. Dus binnen deze methode verwijst self naar de specifieke instantie van dit object waarop wordt geopereerd.
  • Self is de naam die volgens afspraak door Pythons wordt geprefereerd om de eerste parameter van instantiemethoden in Python aan te geven. Het maakt deel uit van de Python-syntaxis om toegang te krijgen tot leden van objecten

Stap 4) Een object van de klasse maken

c = myClass()

Stap 5) Een methode aanroepen in een klasse

c.method1()
    c.method2(" Testing is fun")
  • Merk op dat wanneer we de methode1 of methode2 aanroepen, we het zelf-trefwoord niet hoeven op te geven. Dat wordt automatisch voor ons afgehandeld door de Python-runtime.
  • Python-runtime geeft de "zelf"-waarde door wanneer u een instantiemethode aanroept, of u deze nu opzettelijk verstrekt of niet
  • Je hoeft je alleen maar te bekommeren om de niet-zelf-argumenten

Stap 6) Hier is de volledige code

# 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()

Hoe overerving werkt

Overerving is een functie die wordt gebruikt bij objectgeoriënteerd programmeren; het verwijst naar het definiëren van een nieuwe klasse met minder of geen wijziging van een bestaande klasse. De nieuwe klasse heet afgeleide klasse en van een die het erft, heet de basis . Python ondersteunt overerving; het ondersteunt ook meerdere overervingen . Een klasse kan attributen en gedragsmethoden erven van een andere klasse die subklasse of erfgenaamklasse wordt genoemd.

Python-overervingssyntaxis

class DerivedClass(BaseClass):
    body_of_derived_class

Stap 1) Voer de volgende code uit

# 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()

Merk op dat de in childClass, methode1 niet is gedefinieerd, maar is afgeleid van de bovenliggende myClass. De uitvoer is "Guru99."

Stap 2) Uncomment Line # 8 &10. Voer de code uit

Nu is methode 1 gedefinieerd in de childClass en wordt de output “childClass Method1” correct getoond.

Stap 3) Uncomment-regel #9. Voer de code uit

U kunt een methode van de bovenliggende klasse aanroepen met behulp van de syntaxis

ParentClassName.MethodName(self)

In ons geval noemen we myClass.method1(self) en Guru99 wordt afgedrukt zoals verwacht

Stap 4 ) Uncomment-regel #19. Voer de code uit.

Methode 2 van de child-klasse wordt aangeroepen en “childClass method2” wordt afgedrukt zoals verwacht.

Python-constructeurs

Een constructor is een klassefunctie die een object instantiëren naar vooraf gedefinieerde waarden.

Het begint met een dubbele underscore (_). Het __init__() methode

In onderstaand voorbeeld nemen we de naam van de gebruiker die constructor gebruikt.

class User:
    name = ""

    def __init__(self, name):
        self.name = name

    def sayHello(self):
        print("Welcome to Guru99, " + self.name)

User1 = User("Alex")
User1.sayHello()

Uitvoer zal zijn:

Welkom bij Guru99, Alex

Python 2 voorbeeld

Bovenstaande codes zijn Python 3-voorbeelden. Als u Python 2 wilt gebruiken, overweeg dan de volgende code.

# 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()

Samenvatting:

"Klasse" is een logische groepering van functies en gegevens. De Python-klasse biedt alle standaardfuncties van objectgeoriënteerd programmeren.

  • Klassenoverervingsmechanisme
  • Een afgeleide klasse die elke methode van zijn basisklasse overschrijft
  • Een methode kan de methode aanroepen van een basisklasse met dezelfde naam
  • Python-klassen worden gedefinieerd door het trefwoord 'klasse' zelf
  • Binnen klassen kunt u functies of methoden definiëren die deel uitmaken van de klasse
  • Alles in een klasse is ingesprongen, net als de code in de functie, lus, if-statement, enz.
  • Het zelfargument in Python verwijst naar het object zelf. Self is de naam die volgens afspraak door Pythons de voorkeur heeft om de eerste parameter van instantiemethoden in Python aan te geven
  • Python-runtime geeft de "zelf"-waarde automatisch door wanneer u een instantiemethode aanroept, of u deze nu opzettelijk verstrekt of niet
  • In Python kan een klasse attributen en gedragsmethoden erven van een andere klasse die subklasse of erfgenaamklasse wordt genoemd.

Python

  1. C# klasse en object
  2. Objectgeoriënteerd programmeren in Python
  3. Python-overerving
  4. Botten bouwen met Raspberry Pi en Python
  5. Verschil tussen structuur en klasse:uitgelegd met C++-voorbeeld
  6. Python String strip() Functie met VOORBEELD
  7. Python-teller in verzamelingen met voorbeeld
  8. type() en isinstance() in Python met voorbeelden
  9. Python Lijst index() met Voorbeeld
  10. Java - Object en klassen
  11. Python - Objectgericht