Питхон ООП: класа, објекат, наслеђивање и конструктор са примером

Преглед садржаја:

Anonim

ООП у Питхон-у

ООП у Питхону је програмски приступ који се фокусира на употребу објеката и класа као и осталих општих програмских језика. Предмети могу бити било који ентитети из стварног света. Питхон омогућава програмерима да развијају апликације користећи ООП приступ са главним фокусом на поновну употребу кода. У Питхону је врло лако створити класе и објекте.

Шта је час?

Класа у Питхону је логичко груписање података и функција. Пружа слободу стварања структура података које садрже произвољан садржај и стога су лако доступне.

На пример, сваки запослени у банци који жели да дохвати податке о клијенту на мрежи прешао би у класу купаца , где би били наведени сви њени атрибути, као што су детаљи трансакције, детаљи повлачења и полога, неподмирени дуг итд.

У овом упутству ћемо научити,

  • Како дефинисати класе Питхон
  • Како функционише наслеђивање
  • Питхон конструктори

Како дефинисати класе Питхон

Да бисте дефинисали наставу, морате узети у обзир следеће тачке

Корак 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()

Резиме:

„Класа“ је логично груписање функција и података. Класа Питхон пружа све стандардне карактеристике објектно оријентисаног програмирања.

  • Механизам наслеђивања класе
  • Изведена класа која замењује било који метод своје основне класе
  • Метода може позвати метод основне класе са истим именом
  • Класе Питхон су дефинисане самом кључном речи „цласс“
  • Унутар класа можете дефинисати функције или методе које су део класе
  • Све у класи је увучено, баш као и код у функцији, петљи, иф наредби итд.
  • Аргумент селф у Питхону односи се на сам објекат. Селф је назив који се према конвенцији Питхонс-а преферира да означи први параметар метода инстанце у Питхону
  • Питхон рунтиме ће аутоматски проследити вредност "селф" када у инстанци позовете методу инстанце, без обзира да ли је намерно дајете или не
  • У Питхону, класа може наследити атрибуте и методе понашања из друге класе која се назива подкласа или класа наследника.