Обсуждение:Конструктор (объектно-ориентированное программирование)
Эта статья тематически связана с вики-проектом «Информационные технологии», цель которого — создание и улучшение статей по темам, связанным с информационными технологиями. Вы можете её отредактировать, а также присоединиться к проекту, принять участие в его обсуждении и поработать над требуемыми статьями. |
Untitled[править код]
Мне кажется в определении конструктора ошибка. Что бы проинициализировать что-то это что то нужно еще создать(выделить память).
- Вы правы. Конструктор вызывается после создания. КрайновАЮ 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)
- Да, лучше писать подразделы «Конструктор в C++», «Конструктор в Java» и т.д. Кронас 06:10, 17 марта 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)
- Правильно, определение переписать нужно. Начните с того, что уберите про "вещь в себе" и на это место напишите про Ocaml, что там вообще конструкторы не нужны, т.к. само определение класса создаёт конструирующую функцию, частный случай лексических замыканий. Arachnelis 18:06, 17 марта 2015 (UTC)