Sissejuhatus Pythoni ületamisele
Objektorienteeritud programmeerimise Pythoni funktsiooni Overriring in Python puhul nimetatakse algselt kuulutatud klassi põhiklassiks. pärast seda deklareeritud nimetatakse alamklassiks või lasteklassiks. Tehnikas "Ülekirjutamine Pythonis" on alaklass ette nähtud konkreetse rakenduse tüübiga, mille korral alaklassi element alistab vanema klassi elemendi. Selle tehnika kohaselt peavad alaklassis deklareeritud üksused olema oma nime, parameetri ja argumentidega sarnased emaklassiga. Niisugusel juhul väidetakse, et alaklass alistab põhiklassi.
Ületamise funktsioon Pythonis
Pythoni peamiseks tüübiks on meetodi alistamine. siin kummitatakse alaklassis vanemklassis deklareeritud meetod. Allpool on esitatud meetodi ülimuslikkuse süntaksiesitus,
Süntaks:
class parent_class:
def overriding_method(self):
class Child_class:
def overriden_method(self):
obj1 = parent_class()
obj2 = Child_class()
obj1.overriding_method()
obj2.overriden_method()
Näide nr 1
class parent_class
def __init__(self, Lower_Case, Upper_Case):
self.Lower_Case = Lower_Case
self.Upper_Case = Upper_Case
def attribute_finder_method(self):
print('- - - - - - Overriding method output - - - - -')
print(' - - - - PRINT ON ALPHABETS - - - - - ')
print(' Collection used for variable1 : ', type(Lower_Case))
print(' Collection used for variable2 : ', type(Upper_Case))
print(' Lower case alphabets : ', len(Lower_Case), '--- Values -->', Lower_Case)
print(' Upper case alphabets : ', len(Upper_Case), '--- Values -->', Upper_Case)
print(' ')
print(' ')
print(' ')
class child_class:
def __init__(self, Prime_Numbers):
self.Prime_Numbers = Prime_Numbers
def attribute_finder_method(self):
print('- - - - - - Overriden method output - - - - -')
print(' - - - - PRINT ON PRIME NUMBERS - - - - - ')
print(' Collection used for variable3 : ', type(Prime_Numbers))
print(' Lower case alphabets : ', len(Prime_Numbers), '--- Values -->', Prime_Numbers)
Lower_Case = ( ' a ', ' b ', ' c ', ' d ', ' e ', ' f ', ' g ', ' h ', ' i ', ' j ', ' k ', ' l ', ' m ', ' n ', ' o ', ' p ', ' q ', ' r ', ' s ', ' t ', ' u ', ' v ', ' w ', ' x ', ' y ', ' z ' ) Upper_Case = ( ' A ', ' B ', ' C ', ' D ', ' E ', ' F ', ' G ', ' H ', ' I ', ' J ', ' K ', ' L ', ' M ', ' N ', ' O ', ' P ', ' Q ', ' R ', ' S ', ' T ', ' U ', ' V ', ' W ', ' X ', ' Y ', ' Z ' ) Prime_Numbers = ( ' 1 ', ' 3 ', ' 5 ', ' 7 ', ' 11 ', ' 13 ', ' 17 ', ' 19 ', ' 29 ', ' 31 ', ' 37 ', ' 41 ', ' 43 ', ' 47 ', ' 53 ', ' 59 ', ' 61 ', ' 67 ', ' 71 ', ' 73 ', ' 79 ', ' 83 ', ' 89 ', ' 97 ') object1 = parent_class(Lower_Case, Upper_Case)
object1.attribute_finder_method()
object2 = child_class(Prime_Numbers)
object2.attribute_finder_method()
Väljund:
Selgitus:
- Ülaltoodud programm kasutab kolme loendit, millest kaks sisaldavad väiketähti ja suurtähti, kolmas sisaldab algarvu väärtusi 0 kuni 100.
- programmi funktsionaalsus on kavandatud nii, et eeldatavalt trükitakse nende loendite atribuudid ja sisu. Sel juhul kasutatakse selleks kahte erinevat klassi. Vanemklass haldab kõiki kogumiku tähestikke, lasteklass aga algarvude kogumit.
- Võime märgata, et vanemklassis deklareeritakse funktsioon 'attribute_finder_method ()' mõlema klassi osana. See meetod hoiab tähestike atribuutide töötlemist ja lasteklassis atribuudi töötlemist algarvude korral. oluline spetsifikatsioon on see, et funktsiooni nimi on mõlemas deklareeritud klassis sama.
- Nii et kui objekt klassifitseeritakse vanemklassi jaoks, on see objekt võimeline algatama vanemklassis meetodi jaoks funktsioonikõne ja teisest küljest on lasteklassi jaoks objektiks loodud objekt võimeline algatama lasteklassis meetodi funktsioonikõne. . See tähendab, kui 'objekt2. attribute_finder_method () '- seda nimetatakse lasteklassi meetodiks isegi sama meetodi olemasolul vanemklassis. Niisiis õigustab see selgelt lasteklassi meetodi kohaldamist vanema klassiga võrreldes, assimileerides asjaolu, et alaklassile pakutakse konkreetset tüüpi rakendust, mille korral alaklassi element alistab vanema klassi klassi elemendi.
Näide 2
#!/usr/bin/evn python
# Define a class as 'Individual' #
class Individual:
# Constructor#1 #
def __init__(self):
self.Student_Name = input( " Enter Name of the student : " )
self.Student_age = input( " Enter age of the student : " )
self.Student_gender = input( " Enter gender of the student : " )
# Method
def display(self):
print( " \n \n Enter Name of the student : ", self.Student_Name )
print( " Enter age of the student : ", self.Student_age )
print( " Enter gender of the student : ", self.Student_gender )
# Define a class as 'Evaluated_Marks' #
class Evaluated_Marks:
# Constructor#2 #
def __init__(self):
self.stuClass = input( " Class of the student : " )
print( " Evaluated Marks per subject : " )
self.literature = int(input( " Mark in Literature subject : " ))
self.math = int(input( " Mark in Math subject : " ))
self.biology = int(input( " Mark in Biology subject : " ))
self.physics = int(input( " Mark in Physics subject : " ))
# Method
def display(self):
print( " Study in : ", self.stuClass)
print( " Total Evaluated_Marks : ", self.literature + self.math + self.biology + self.physics)
class student(Individual, Evaluated_Marks):
def __init__(self):
# Call ' Individual ' super class constructor
Individual.__init__(self)
# Call ' Evaluated_Marks ' superclass constructor
Evaluated_Marks.__init__(self)
def result(self):
# Call method of class 'Individual'
Individual.display(self)
# Call method of class 'Evaluated_Marks'
Evaluated_Marks.display(self)
# Objects of class 'student' #
Student1 = student()
Student2 = student()
print(" ")
print( "Note: The instances get initialized with the given values Successfully " )
Väljund:
Selgitus:
Siin päritakse ja ignoreeritakse kuvamismeetodit (), mis saavutab jälle meetodi kontseptsiooni kontseptsiooni.
Pythoni ületamise reeglid
- Ületatud meetod peab olema sama nimi kui põhiklassis määratletud meetod
- staatilisi meetodeid ei saa mööda vaadata
- Lõplikke meetodeid ei saa mööda vaadata
- Sünkroniseeritud modifikaatoril ei ole ületamise alustamise reeglitele mingit mõju.
Järeldus
Ülekirjutamise kontseptsioon kajastab sama klassi mitut rakendust. siin ei oma sünkroniseeritud modifikaator ülekaalu reegleid. Varem määratleb see kaasatud klassi käitumise väga sügavalt. need juhtumid muudavad ülimuslikkuse kontseptsiooni python maailmas väga oluliseks.
Soovitatavad artiklid
See on juhend Pythonil ületamise kohta. Siin käsitleme Pythoni sissejuhatust, ületamise funktsiooni ja ületamise reegleid. Lisateavet leiate ka meie muudest soovitatud artiklitest -
- Pythoni omadused
- Esmatähtis JavaScriptis
- PHP-kompilaator
- Seansid PHP-s
- Staatiliste meetodite juhend PHP-s
- JavaScripti staatilise meetodi näited