Python OOP-id: klass, objekt, pärand ja konstruktor koos näitega

OOP sisse Python

OOP sisse Python on programmeerimisviis, mis keskendub objektide ja klasside kasutamisele samamoodi nagu teised üldised programmeerimiskeeled. Objektid võivad olla mis tahes reaalse maailma üksused. Python võimaldab arendajatel arendada rakendusi, kasutades OOP-i lähenemisviisi, keskendudes peamiselt koodi korduvkasutatavusele. Klasside ja objektide loomine on väga lihtne Python.

Mis on klass?

A klass sisse Python on andmete ja funktsioonide loogiline rühmitus. See annab vabaduse luua andmestruktuure, mis sisaldavad suvalist sisu ja on seega kergesti ligipääsetavad.

Näiteks iga pangatöötaja, kes soovib veebist kliendiandmeid hankida, läheb aadressile kliendiklass, kus on loetletud kõik selle atribuudid, nagu tehinguteave, väljamakse ja sissemakse üksikasjad, tasumata võlg jne.

Kuidas määratleda Python klassid

Klassi määratlemiseks peate arvestama järgmiste punktidega

Step 1) In Python, klassid on määratletud "Klass" võtmesõna

class myClass():

Step 2) Klasside sees saate määratleda selle klassi kuuluvaid funktsioone või meetodeid

def method1 (self):
   print "Guru99"
def method2 (self,someString): 
   print "Software Testing:" + someString
  • Siin oleme määratlenud meetodi1, mis prindib "Guru99".
  • Teine meetod, mille oleme defineerinud, on meetod2, mis prindib "Tarkvara testimine" + SomeString. SomeString on kutsumismeetodi pakutav muutuja

Step 3) Kõik klassis on taandega, nagu ka kood funktsioonis, tsüklis, if-lauses jne. Kõik, mida pole taandes, ei ole klassis

Määratle Python klassid

MÄRKUSED: "ise" kasutamise kohta Python

  • Eneseargument viitab objektile endale. Sellest ka sõna isekasutus. Nii et selle meetodi sees viitab ise selle objekti konkreetsele eksemplarile, mida kasutatakse.
  • Self on nimi, mida eelistab kokkuleppeliselt Pythons, et näidata eksemplarimeetodite esimest parameetrit Python. See on osa Python süntaks objektide liikmetele juurdepääsuks

Step 4) Teha klassi objekt

c = myClass()

Step 5) Meetodi kutsumine klassis

c.method1()
    c.method2(" Testing is fun")
  • Pange tähele, et kui kutsume välja meetodi1 või meetodi2, ei pea me esitama enesemärksõna. Sellega tegeleb meie eest automaatselt Python tööaeg.
  • Python käitusaeg edastab "ise" väärtuse, kui kutsute eksemplari meetodi sisse, olenemata sellest, kas esitate selle tahtlikult või mitte
  • Peate lihtsalt hoolima mitte-iseargumentidest

Step 6) Siin on täielik kood

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

Kuidas pärimine toimib

Pärand on objektorienteeritud programmeerimises kasutatav funktsioon; see viitab uue klassi määratlemisele olemasoleva klassi vähem või ilma muudatusteta. Uut klassi kutsutakse tuletatud klass ja seda, mille see pärib, nimetatakse baas. Python toetab pärimist; see toetab ka mitu pärandit. Klass võib pärida atribuute ja käitumismeetodeid teiselt klassilt, mida nimetatakse alamklassiks või pärijaklassiks.

Määratle Python klassid

Python Pärimise süntaks

class DerivedClass(BaseClass):
    body_of_derived_class

Step 1) Käivitage järgmine kood

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

Pange tähele, et in childClass meetod1 ei ole määratletud, kuid see on tuletatud ülemklassist myClass. Väljund on "Guru99".

Step 2) Tühista rida 8 ja 10. Käivitage kood

Nüüd on lapseklassis defineeritud meetod 1 ja väljund “childClass Method1” on õigesti näidatud.

Step 3) Tühistage rida #9. Käivitage kood

Süntaksi abil saate kutsuda vanemklassi meetodit

ParentClassName.MethodName(self)

Meie puhul helistame, myClass.method1(self) ja Guru99 prinditakse ootuspäraselt

Samm 4) Kommenteerimata rida #19. Käivitage kood.

Kutsutakse välja alamklassi meetod 2 ja “childClass method2” trükitakse ootuspäraselt.

Python Konstruktorid

Konstruktor on klassifunktsioon, mis loob objekti eelmääratletud väärtustele.

See algab topelt allkriipsuga (_). See __init__() meetod

Allolevas näites võtame konstruktori abil kasutaja nime.

class User:
    name = ""

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

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

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

Väljund saab olema:

Tere tulemast Guru99-sse, Alex

Python 2 Näide

Ülaltoodud koodid on Python 3 näidet, kui soovite sisse joosta Python 2 palun kaaluge järgmist koodi.

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

Tutvuge meie järgmise õpetusega Polümorfism sisse Python

kokkuvõte

“Klass” on funktsioonide ja andmete loogiline rühmitus. Python klass pakub kõiki objektorienteeritud programmeerimise standardfunktsioone.

  • Klassi pärimise mehhanism
  • Tuletatud klass, mis alistab oma põhiklassi mis tahes meetodi
  • Meetod võib kutsuda sama nimega baasklassi meetodit
  • Python Klassid on määratletud märksõnaga "klass" ise
  • Klasside sees saate määratleda funktsioone või meetodeid, mis on klassi osa
  • Kõik klassis on taandega, nagu ka kood funktsioonis, tsüklis, if-lauses jne.
  • Eneseargument sisse Python viitab objektile endale. Self on nimi, mida eelistab kokkuleppeliselt Pythons, et näidata eksemplarimeetodite esimest parameetrit Python
  • Python käitusaeg edastab "self" väärtuse automaatselt, kui kutsute eksemplari meetodi sisse, olenemata sellest, kas esitate selle tahtlikult või mitte
  • In Python, võib klass pärida atribuute ja käitumismeetodeid teiselt klassilt, mida nimetatakse alamklassiks või pärijaklassiks.

Võta see postitus kokku järgmiselt: