Обсуждение:Конструктор (объектно-ориентированное программирование)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Мне кажется в определении конструктора ошибка. Что бы проинициализировать что-то это что то нужно еще создать(выделить память).

Вы правы. Конструктор вызывается после создания. КрайновАЮ 02:49, 21 мая 2006 (UTC)[ответить]
Речь, кажется, идёт о конструкторе _объекта_ класса. У самого-же класса есть не заметный с высоты языков C++ и Java конструктор (называется, как правило, clinit и хорошо виден при дизассемблировании). Его задача -- вызвать такой же "клинит" для класса-предка и в случае необходимости -- что-то инициализировать (по цепочке до самого древнего класса). Не стоит ли переименовать статью в "конструктор объекта класса"? ManN 03:31, 21 мая 2006 (UTC)[ответить]
Думаю, что достаточно в "Конструктор объекта" или в "Конструктор (программирование)". MaxiMaxiMax 04:00, 21 мая 2006 (UTC)[ответить]

Достоверность сведений в статье[править код]

Такое ощущение, что при написании статьи имелся в виду какой-то один язык программирования, так как то, что написано (часть из преамбулы убрал) явно не является общим для большей части языков программирования. Нужно тогда явно как-то разделить, типа «Конструктор в C++», «Конструктор в Java» и т. д. Может быть, как-то сгруппировать можно, но не уверен. РоманСузи 16:37, 16 марта 2015 (UTC)[ответить]

  • Правильно, определение переписать нужно. Начните с того, что уберите про "вещь в себе" и на это место напишите про Ocaml, что там вообще конструкторы не нужны, т.к. само определение класса создаёт конструирующую функцию, частный случай лексических замыканий. Arachnelis 18:06, 17 марта 2015 (UTC)[ответить]
    Я писать ничего не буду, потому что у меня нет АИ. Кронас 05:41, 18 марта 2015 (UTC)[ответить]
  • Определение нужно написать по книге о концепциях языков программирования, а точнее - ООП, в соответствии с названием статьи. Навскидку (без заглядывания в АИ) полагаю, что будет 2-3 определения, в том числе в типотеоретическом плане (к которому как раз ближе OCaml). Перегибать в сторону ФП и теории не будем (это если в определении будет фигурировать частный случай лексических замыканий), нужен мостик. Кроме того и если не ошибаюсь, так как речь об ООП, типотеоретический encoding классов/объектов можно сделать разными способами. РоманСузи 07:06, 18 марта 2015 (UTC)[ответить]
  • Само собой. Ещё обязательно посмотрите Abadi & Cardelli - Theory of objects. По идее там должна быть готовая систематизация разных определений. У меня пока руки до неё не дошли. Arachnelis 10:15, 18 марта 2015 (UTC)[ответить]