„Python OOP“: klasė, objektas, paveldėjimas ir konstruktorius su pavyzdžiu

OOP „Python“

OOP „Python“ yra programavimo metodas, orientuotas į objektų ir klasių, kaip ir kitų bendrųjų programavimo kalbų, naudojimą. Objektai gali būti bet kokie realaus pasaulio subjektai. „Python“ leidžia kūrėjams kurti programas naudojant OOP metodą, daugiausia dėmesio skiriant kodo pakartotiniam naudojimui. „Python“ labai lengva sukurti klases ir objektus.

Kas yra klasė?

„Python“ klasė yra logiška duomenų ir funkcijų grupavimas. Tai suteikia laisvę kurti duomenų struktūras, kuriose yra savavališkas turinys ir kurios yra lengvai prieinamos.

Pavyzdžiui, bet kuris banko darbuotojas, norintis gauti išsamią informaciją apie klientą internetu, patektų į klientų klasę , kur būtų išvardyti visi jo atributai, pvz., Sandorio duomenys, išskaitymo ir indėlių duomenys, negrąžintos skolos ir kt.

Šioje pamokoje sužinosime,

  • Kaip apibrėžti „Python“ klases
  • Kaip veikia paveldėjimas
  • „Python“ konstruktoriai

Kaip apibrėžti „Python“ klases

Norėdami apibrėžti klasę, turite apsvarstyti šiuos dalykus

1 žingsnis) „Python“ klases apibrėžia raktinis žodis „Klasė“

class myClass():

2 žingsnis. Viduje klasių galite apibrėžti funkcijas ar metodus, kurie yra šios klasės dalis

def method1 (self):print "Guru99"def method2 (self,someString):print "Software Testing: + someString
  • Čia mes apibrėžėme metodą1, kuris spausdina „Guru99“.
  • Kitas mūsų apibrėžtas metodas yra method2, kuris spausdina „Software Testing“ + SomeString. „SomeString“ yra kintamasis, kurį teikia skambinimo metodas

3 žingsnis) Viskas klasėje yra įtraukta, lygiai taip pat, kaip kodas funkcijoje, cikle, jei sakinyje ir pan. Viskas, kas neįtraukta, nėra klasėje

PASTABA : apie „self“ naudojimą „Python“

  • Savęs argumentas nurodo patį objektą. Taigi vartojamas žodis „aš“. Taigi šio metodo viduje aš nurodysiu konkretų šio objekto, kuris yra valdomas, egzempliorių.
  • „Self“ yra vardas, kuriam pirmenybę teikia Pitonai, norėdami nurodyti pirmąjį „Python“ egzempliorių metodų parametrą. Tai yra „Python“ sintaksės dalis norint pasiekti objektų narius

4 žingsnis) Padaryti klasės objektą

c = myClass()

5 žingsnis. Norėdami iškviesti metodą klasėje

c.method1()c.method2(" Testing is fun")
  • Atkreipkite dėmesį, kad kai mes vadiname metodą1 arba metodą2, neprivalome pateikti savaiminio raktinio žodžio. Tai automatiškai tvarko „Python“ vykdymo laikas.
  • „Python“ vykdymo laikas perduos „aš“ vertę, kai, pavyzdžiui, iškviečiate egzemplioriaus metodą, nesvarbu, ar jį pateikiate sąmoningai, ar ne
  • Jums tereikia rūpintis ne savęs argumentais

6 žingsnis) Čia yra visas kodas

# Darbo su klasėmis failo pavyzdysklasė myClass ():def metodas1 (savarankiškai):spausdinti („Guru99“)def metodas2 (self, someString):spausdinti („Programinės įrangos testavimas:“ + someString)def pagrindinis ():# naudotis klasės metodaisc = myClass ()c.metode1 ()c.metode2 („Testavimas yra įdomus“)jei __pavadinimas __ == "__main__":pagrindinis ()

Kaip veikia paveldėjimas

Paveldėjimas yra funkcija, naudojama programuojant į objektą; tai reiškia naujos klasės apibrėžimą, jei esama klasė bus pakeista mažiau arba visai nebus pakeista. Naujoji klasė vadinama išvestine klase, o iš tos, kurią paveldi, - pagrindu . „Python“ palaiko paveldėjimą; jis taip pat palaiko daugelį paveldėjimų . Klasė gali paveldėti atributus ir elgesio metodus iš kitos klasės, vadinamos poklasiu arba įpėdinių klase.

„Python“ paveldėjimo sintaksė

class DerivedClass(BaseClass):body_of_derived_class

1 žingsnis. Paleiskite šį kodą

# Darbo su klasėmis failo pavyzdysklasė myClass ():def metodas1 (savarankiškai):spausdinti („Guru99“)klasės „childClass“ („myClass“):# def metodas1 (savarankiškai):# myClass.method1 (savęs);#print ("childClass Method1")def metodas2 (savarankiškai):spausdinti („childClass2 metodas“)def pagrindinis ():# naudotis klasės metodaisc2 = childClass ()c2.metode1 ()# c2.metode2 ()jei __pavadinimas __ == "__main__":pagrindinis ()

Atkreipkite dėmesį, kad „childClass“ metodas1 nėra apibrėžtas, bet jis gaunamas iš tėvų „myClass“. Išvestis yra „Guru99“.

2 žingsnis) Nekomentuokite 8 ir 10 eilutės. Paleiskite kodą

Dabar metodas 1 yra apibrėžtas „childClass“ ir teisingai parodytas išėjimas „childClass Method1“.

3 žingsnis) Komentavimo eilutė Nr. 9. Paleiskite kodą

Naudodami sintaksę, galite iškviesti tėvų klasės metodą

ParentClassName.MethodName(self)

Mūsų atveju mes vadiname „myClass.met1“ („self“) ir „Guru99“ spausdinami kaip tikėtasi

4 žingsnis ) Nekomentuokite 19 eilutės. Paleiskite kodą.

Vadinamas vaikų klasės 2 metodas ir, kaip tikėtasi, spausdinamas „childClass method2“.

„Python“ konstruktoriai

Konstruktorius yra klasės funkcija, kuri akimirksniu nukreipia objektą į iš anksto nustatytas reikšmes.

Jis prasideda dvigubu pabraukimu (_). Tai __init __ () metodas

Žemiau pateiktame pavyzdyje mes paimame vartotojo vardą naudojant konstruktorių.

class User:name = ""def __init__(self, name):self.name = namedef sayHello(self):print("Welcome to Guru99, " + self.name)User1 = User("Alex")User1.sayHello()

Rezultatas bus:

Sveiki atvykę į „Guru99“, Alex

„Python 2“ pavyzdys

Aukščiau pateikti kodai yra „Python 3“ pavyzdžiai. Jei norite paleisti „Python 2“, apsvarstykite šį kodą.

# How to define Python classes# Example file for working with classesclass myClass():def method1(self):print "Guru99"def method2(self,someString):print "Software Testing: + someStringdef main():# exercise the class methodsc = myClass ()c.method1()c.method2(" Testing is fun")if __name__== "__main__":main()#How Inheritance works# Example file for working with classesclass 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 methodsc2 = childClass()c2.method1()#c2.method2()if __name__== "__main__":main()

Santrauka:

„Klasė“ yra logiškas funkcijų ir duomenų grupavimas. „Python“ klasėje pateikiamos visos standartinės „Object Oriented Programming“ funkcijos.

  • Klasės paveldėjimo mechanizmas
  • Išvestinė klasė, kuri viršija bet kurį jos bazinės klasės metodą
  • Metodas gali vadinti bazinės klasės metodą tuo pačiu pavadinimu
  • Python klasės apibrėžtos pagal raktažodį "klasė" pati
  • Klasių viduje galite apibrėžti klases ar funkcijas ar metodus
  • Viskas klasėje yra įtraukta, lygiai taip pat, kaip kodas funkcijoje, cikle, jei sakinyje ir t.
  • „Python“ savęs argumentas nurodo patį objektą. „Self“ yra vardas, kuriam pirmenybę teikia Pitonai, norėdami nurodyti pirmąjį „Python“ egzempliorių metodų parametrą
  • „Python“ vykdymo laikas automatiškai perduos „aš“ vertę, kai, pavyzdžiui, iškviečiate egzemplioriaus metodą, nesvarbu, ar jį pateikiate sąmoningai, ar ne
  • „Python“ klasė gali paveldėti atributus ir elgesio metodus iš kitos klasės, vadinamos poklasiu arba įpėdinių klase.

Įdomios straipsniai...