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

Тема в разделе "Другие языки", создана пользователем Solomon Kane, 15 авг 2010.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. Solomon Kane

    Solomon Kane Постоялец

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

    Спасибо!
     
  2. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    364
    Симпатии:
    117
    о каком конструкторе идет речь?

    конструктор в контексте ООП?
    или конструктор лего?
    или може патерн конструктор?
    или же какой-то набор скриптов что-то конструирующих?
     
  3. horpah

    horpah

    Регистр.:
    21 июн 2010
    Сообщения:
    200
    Симпатии:
    55
    Если имелся ввиду конструктор объекта то смотри.
    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 раз о томимеет ли право тот кому показывается страница на просмотр мыла.
     
    Solomon Kane нравится это.
  4. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    Коротко: конструктор это функция (метод), вызываемая при создании экземпляра класса, после использования функции new
     
    Solomon Kane нравится это.
  5. DrakonHaSh

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    а используется он для инициализации(задания начальных значений(начального состояния)) данных(состояния) экземпляра класса
     
    Solomon Kane нравится это.
  6. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    он может использоваться для этого. а может быть тупо пустым.
     
  7. DrakonHaSh

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    он может использоваться вообще для чего угодно, и его может не быть вообще :)
    а чел спрашивал зачем он нужен, а не какие хитрости или извращения с ним можно делать :)
     
    Solomon Kane нравится это.
  8. Solomon Kane

    Solomon Kane Постоялец

    Регистр.:
    26 авг 2009
    Сообщения:
    144
    Симпатии:
    9
    chang, очень умно писать про конструктор лего, когда вопрос задан в разделе про программирование.

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

    DrakonHaSh

    Регистр.:
    29 июн 2010
    Сообщения:
    358
    Симпатии:
    122
    не, немного не то.
    конструктор это код, который гарантированно вызывается (автоматом) при создании экземпляра объекта.
    как правило используется для инициализации(задания начального состояния) экземпляра объекта.
     
  10. diavolic

    diavolic

    Регистр.:
    17 мар 2010
    Сообщения:
    522
    Симпатии:
    102
    поумничаю - экземпляра класса :ah:
     
Статус темы:
Закрыта.