Объясните человеческим языком зачем нужен конструктор

Статус
В этой теме нельзя размещать новые ответы.

Solomon Kane

Постоялец
Регистрация
26 Авг 2009
Сообщения
144
Реакции
9
Народ, разъясните нормальным человеческим языком, зачем нужен конструктор? Так получилось, что я сейчас перебираю скрипты, где он часто используется и решил узнать, что это такое. Пошёл смотреть определения и офигел! Штук 5 пересмотрел и ничего не понял. Везде написано таким языком, будто это какой-то термин из ядерной физики:D. В общем, растолкуйте на пальцах с простым примером, зачем его вообще используют и для чего он нужен.

Спасибо!
 
о каком конструкторе идет речь?

конструктор в контексте ООП?
или конструктор лего?
или може патерн конструктор?
или же какой-то набор скриптов что-то конструирующих?
 
Если имелся ввиду конструктор объекта то смотри.
PHP:
Class xxx{
.....
function __constructor($a,$b....$z){
 Это первое что объект делает в своей жизни.
 Делает он это всегда при создании.
}
......
}
.....
$obj1=new xxx($a1,$b1....$z1);
$obj2=new xxx($a2,$b2....$z2);
.....
[PHP]
Актуально например если класс описывает юзера. Скармливаешь конструктору, например, ID юзера, а он вытаскивает из таблицы всю инфу по нему, заполняет свойства объекта. Например прячет/показывает пользовательский емейл взависимости от настроек юзера...
А ты на какой нибудь странице( а таких частенько много) пишешь print obj1->email;  и не думаешь 25 раз о том, имеет ли право тот кому показывается страница на просмотр мыла.
 
Коротко: конструктор это функция (метод), вызываемая при создании экземпляра класса, после использования функции new
 
а используется он для инициализации(задания начальных значений(начального состояния)) данных(состояния) экземпляра класса
 
а используется он для инициализации(задания начальных значений(начального состояния)) данных(состояния) экземпляра класса

он может использоваться для этого. а может быть тупо пустым.
 
он может использоваться для этого. а может быть тупо пустым.
он может использоваться вообще для чего угодно, и его может не быть вообще :)
а чел спрашивал зачем он нужен, а не какие хитрости или извращения с ним можно делать :)
 
chang, очень умно писать про конструктор лего, когда вопрос задан в разделе про программирование.

Ясно, теперь кое-что начинает проясняться. Я также понял по своим соображениям, что конструктор это как некий универсал, который вбирает в себя часто повторяющиеся операции. Например, нам надо в скрипте три раза вызывать одно и то же, чтобы этого каждый раз не делать, задаём в конструкторе, а потом одной строкой уже тянем оттуда. Верно?
 
не, немного не то.
конструктор это код, который гарантированно вызывается (автоматом) при создании экземпляра объекта.
как правило используется для инициализации(задания начального состояния) экземпляра объекта.
 
не, немного не то.
конструктор это код, который гарантированно вызывается (автоматом) при создании экземпляра объекта.
как правило используется для инициализации(задания начального состояния) экземпляра объекта.

поумничаю - экземпляра класса :ah:
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху