Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.05.2013, 11:20   #11
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Stilet
Цитата:
Классы это типы. А объекты или экземпляры классов - переменные. Это разные вещи.
А также Utkin
Цитата:
Класс это просто описание, калька с которой берутся экземпляры класса
Если понятия объект и экземпляр класса всё же абсолютно тождественны, то, ИМХО, фраза от phomm
Цитата:
объекты - что-то типа записей с методами (в новых версиях дельфи 2007+ они и так есть , в более ранних версиях записи не могут содержать методы, и их можно эмулировать типом object ), они создаются на стеке и не требуют обязательного вызова конструктора и деструктора (хотя обычно программист сам определяет что надо и вызывает в этом случае). Экземпляры классов же создаются в куче, и необходимо использование конструктора и деструктора.
некорректно построена. С учётом того, что объект === экземпляр класса, получается, что объект создаётся как на стеке, так и в куче. Может, это я чего-то не понимаю? Прошу поправить/пояснить.

Цитата:
По-моему в хелпе делфи самое четкое описание инструкции object )
В силу не достаточно хорошего уровня владения английским языком (впрочем, дружу с ним, пару раз даже обращался к хелпу этому, и помогало), предпочитаю иметь дело с русскими источниками, где объясняется доступно.
Вадим Мошев вне форума Ответить с цитированием
Старый 06.05.2013, 11:35   #12
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Может, это я чего-то не понимаю? Прошу поправить/пояснить.
Путаница возникает из-за того, что в Паскале применяется Object, в Делфи class, а прежнее слово используется для совместимости. Пишите class и все конструкторы/деструкторы. Жизнь в таком случае будет немного проще.

ЗЫ. Если Вы наследуетесь от сложных объектов, то также весьма желательно писать Inherited Create в конструкторе и Inherited Destroy в деструкторе. Это указание предку досоздаться и проинициализироваться. Иногда это необходимо, например когда конструктор не может быть вызван корректно по умолчанию (то есть принимает какие-то входящие параметры, влияющие на поведение экземпляра класса). С другой стороны, ИМХО, следует избегать ситуаций когда конструктору нужны какие-либо данные для создания объекта.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 06.05.2013 в 11:38.
Utkin вне форума Ответить с цитированием
Старый 06.05.2013, 11:38   #13
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
абсолютно тождественны
не абсолютно, а в контексте, хелп читайте
eval вне форума Ответить с цитированием
Старый 06.05.2013, 19:38   #14
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
С другой стороны, ИМХО, следует избегать ситуаций когда конструктору нужны какие-либо данные для создания объекта.
Странно.
Я, наоборот, почти всегда передаю конструктору какие-то данные, чтобы он знал, что именно нужно создавать.
s-andriano вне форума Ответить с цитированием
Старый 06.05.2013, 19:50   #15
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
С учётом того, что объект === экземпляр класса, получается, что объект создаётся как на стеке, так и в куче.
Стек - память. Куча - память. Не вижу разницы?
И потом сейчас речь о философии а не о технологии. Запорожец и ламборджини чем отличаются? Пра-а-а-авильно - первому по автобанам ездить практически запрещено. Автобан - куча, грунтовка - стек. Но и то и другое все же автомобили
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Конструкторы и деструкторы Qwoort Общие вопросы C/C++ 2 18.06.2012 09:17
Конструкторы и деструкторы programmm Помощь студентам 0 04.06.2011 16:33
Конструкторы и деструкторы @arkadii Общие вопросы C/C++ 2 10.11.2010 17:40
С++ и С# Конструкторы и Деструкторы exKenny Помощь студентам 1 27.04.2010 12:32