ООП у Питхон-у
ООП у Питхону је програмски приступ који се фокусира на употребу објеката и класа као и осталих општих програмских језика. Предмети могу бити било који ентитети из стварног света. Питхон омогућава програмерима да развијају апликације користећи ООП приступ са главним фокусом на поновну употребу кода. У Питхону је врло лако створити класе и објекте.
Шта је час?
Класа у Питхону је логичко груписање података и функција. Пружа слободу стварања структура података које садрже произвољан садржај и стога су лако доступне.
На пример, сваки запослени у банци који жели да дохвати податке о клијенту на мрежи прешао би у класу купаца , где би били наведени сви њени атрибути, као што су детаљи трансакције, детаљи повлачења и полога, неподмирени дуг итд.
У овом упутству ћемо научити,
- Како дефинисати класе Питхон
- Како функционише наслеђивање
- Питхон конструктори
Како дефинисати класе Питхон
Да бисте дефинисали наставу, морате узети у обзир следеће тачке
Корак 1) У Питхону су класе дефинисане кључном речи „Цласс“
class myClass():
Корак 2) Унутар класа можете дефинисати функције или методе које су део ове класе
def method1 (self):print "Guru99"def method2 (self,someString):print "Software Testing: + someString
- Овде смо дефинисали метод1 који штампа „Гуру99“.
- Друга метода коју смо дефинисали је метода2 која исписује „Тестирање софтвера“ + СомеСтринг. СомеСтринг је променљива коју обезбеђује метода позивања
Корак 3) Све у класи је увучено, баш као и код у функцији, петљи, иф наредби итд. Све што није увучено није у класи
НАПОМЕНА : О коришћењу „селф“ у Питхон-у
- Аргумент самог себе односи се на сам предмет. Отуда употреба речи селф. Дакле, унутар ове методе, селф ће се односити на одређену инстанцу овог објекта који се оперише.
- Селф је назив који се према конвенцији Питхонс-а преферира да означи први параметар метода инстанце у Питхону. Део је Питхон синтаксе за приступ члановима објеката
Корак 4) Да направите објекат класе
c = myClass()
Корак 5) Позивање методе у класи
c.method1()c.method2(" Testing is fun")
- Приметите да када позивамо методу1 или методу2, не морамо давати само-кључну реч. То нам аутоматски рукује Питхон рунтиме.
- Питхон рунтиме ће проследити вредност „селф“ када у инстанци позовете методу инстанце, без обзира да ли је пружате намерно или не
- Само треба да бринете о не-сопственим аргументима
Корак 6) Ево комплетног кода
# Пример датотеке за рад са часовимакласа миЦласс ():деф метход1 (само):принт ("Гуру99")деф метход2 (селф, сомеСтринг):принт ("Тестирање софтвера: + сомеСтринг)деф маин ():# вежбајте методе класец = миЦласс ()ц.метход1 ()ц.метход2 („Тестирање је забавно“)ако је __име __ == "__главно__":главни()
Како функционише наслеђивање
Наслеђивање је особина која се користи у објектно оријентисаном програмирању; односи се на дефинисање нове класе са мањом или никаквом модификацијом постојеће класе. Нова класа се назива изведена класа, а од оне коју наслеђује назива се основна . Питхон подржава наслеђивање; такође подржава више наслеђа . Класа може наследити атрибуте и методе понашања од друге класе која се назива подкласа или класа наследника.
Синтакса наслеђивања Питхона
class DerivedClass(BaseClass):body_of_derived_class
Корак 1) Покрените следећи код
# Пример датотеке за рад са часовимакласа миЦласс ():деф метход1 (само):принт ("Гуру99")класа цхилдЦласс (миЦласс):#деф метход1 (селф):# миЦласс.метход1 (селф);#принт ("ЦхилдЦласс Метход1")деф метод2 (само):принт ("метода класе дете2")деф маин ():# вежбајте методе класец2 = цхилдЦласс ()ц2.метход1 ()# ц2.метход2 ()ако је __име __ == "__главно__":главни()
Приметите да ин цхилдЦласс, метход1 није дефинисан, али је изведен из надређеног миЦласс. Резултат је „Гуру99“.
Корак 2) Унцоммент Лине # 8 & 10. Покрените код
Сада је метода 1 дефинисана у ЦхилдЦласс и излаз "ЦхилдЦласс Метход1" је тачно приказан.
Корак 3) Унцоммент Лине # 9. Покрените код
Можете да позовете методу родитељске класе користећи синтаксу
ParentClassName.MethodName(self)
У нашем случају, ми зовемо, миЦласс.метход1 (селф) и Гуру99 се штампају према очекивањима
Корак 4 ) Унцоммент Лине # 19. Покрените код.
Позива се 2. метод подређене класе и штампа се „цхилдЦласс метход2“ како се очекивало.
Питхон конструктори
Конструктор је функција класе која инстанцира објекат у предефинисане вредности.
Почиње двоструким подвлаком (_). То је __инит __ () метода
У доњем примеру узимамо име корисника помоћу конструктора.
class User:name = ""def __init__(self, name):self.name = namedef sayHello(self):print("Welcome to Guru99, " + self.name)User1 = User("Alex")User1.sayHello()
Излаз ће бити:
Добродошао у Гуру99, Алек
Питхон 2 Пример
Изнад кодови су примери Питхон 3-а. Ако желите да покренете Питхон 2, размотрите следећи код.
# 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()
Резиме:
„Класа“ је логично груписање функција и података. Класа Питхон пружа све стандардне карактеристике објектно оријентисаног програмирања.
- Механизам наслеђивања класе
- Изведена класа која замењује било који метод своје основне класе
- Метода може позвати метод основне класе са истим именом
- Класе Питхон су дефинисане самом кључном речи „цласс“
- Унутар класа можете дефинисати функције или методе које су део класе
- Све у класи је увучено, баш као и код у функцији, петљи, иф наредби итд.
- Аргумент селф у Питхону односи се на сам објекат. Селф је назив који се према конвенцији Питхонс-а преферира да означи први параметар метода инстанце у Питхону
- Питхон рунтиме ће аутоматски проследити вредност "селф" када у инстанци позовете методу инстанце, без обзира да ли је намерно дајете или не
- У Питхону, класа може наследити атрибуте и методе понашања из друге класе која се назива подкласа или класа наследника.