Конструктор на клас - метод __init __ ()
При обектно-ориентираното програмиране конструкторът на клас е метод, който автоматично се извиква, когато се създават обекти. Може да се нарече и конструктор на обекти от клас. Името на такъв метод обикновено се управлява от синтаксиса на определен език за програмиране. Така че в Java името на конструктор на клас е същото като името на самия клас. В Python методът __init __ () играе ролята на конструктор.
В Python наличието на долна черта отпред и отзад в името на метода показва, че принадлежи към групата на методите за претоварване на оператора. Ако такива методи са дефинирани в клас, тогава обектите могат да участват в такива операции като събиране, изваждане, наречени като функции и т.н.
В този случай не е необходимо методите за претоварване на оператора да се извикват по име. Предизвикателството за тях е самият факт на участието на обекта в определена операция. В случай на конструктор на клас, това е операцията по създаване на обект. Тъй като обектът е създаден в момента на извикване на класа по име, в този момент се извиква методът __init __ (), ако е дефиниран в класа.
Необходимостта от конструктори се дължи на факта, че често обектите трябва да имат свои собствени свойства веднага. Нека има клас Person, чиито обекти трябва да имат собствено и фамилно име. Ако класът е описан по този начин
тогава създаването на обект е възможно без полета. За да зададете собственото и фамилното име, методът setName () трябва да бъде извикан отделно:
На свой ред конструкторът на класа няма да ви позволи да създадете обект без задължителни полета:
Сега, ако се опитаме да създадем обект, без да предаваме нищо на конструктора, ще бъде хвърлено изключение и обектът няма да бъде създаден:
Случва се обаче, че трябва да разрешите създаването на обект, дори ако в конструктора не се предават данни. В този случай стойностите по подразбиране се задават за параметрите на конструктора на класа: