Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.192] |
|
|
Правила раздела:
| Страницы: (495) « Первая ... 72 73 [74] 75 76 ... 494 495 ( Перейти к последнему сообщению ) |
Delphi vs C++ vs C#
, ну и Java немножко, где-то ближе к старшему байту номеров страниц
|
Сообщ.
#1096
,
|
|
|
|
|
Сообщ.
#1097
,
|
|
|
|
Цитата --Ins-- @ Давай ты за меня говорить не будешь, лады? Я вообще то за высказал свои мысли по этому поводу, за тебя я пока ничего не говорил |
|
Сообщ.
#1098
,
|
|
|
|
Естественно, я разве говорил что тут будут разные классы? да блин, ильбомный/неальбомный лист - это свойство предка. Есть два потомка. Одни - текстовый документ, в конструкторе выставляет лист как портретный. Второй - графический чертеж - выставляет в конструкторе лист как альбомный. Ну, к примеру. Понятно? Цитата Повстанець @ Если я правильно понял -- Modified это некое свойство, которое дёргает перерисовку видов. Но при создании документа у него нет ни одного вида. Хрен с ним -- пусть дёргает. Нет, наверное я действительно мало пояснил. Modified - это просто флажок состояния, которой отвечает, скажем, за то, чтобы спросить у юзера "сохранить изменения?" при закрытии документа если он установлен, и не спрашивать - если он сброшен Добавлено Цитата KILLER @ Я вообще то за высказал свои мысли по этому поводу Высказывай их в следующий раз без употребления меня в третьем лице и предписывания мне каких-либо действий. Ясно? Добавлено Не знаю. Поясни на словах |
|
Сообщ.
#1099
,
|
|
|
|
Цитата --Ins-- @ т.е. только что созданный/отрытый еще не измененный документ считается измененным? Однако...Modified - это просто флажок состояния, которой отвечает, скажем, за то, чтобы спросить у юзера "сохранить изменения?" при закрытии документа если он установлен, и не спрашивать - если он сброшен Что мешает потомку установить этот флажок напрямую в своем конструкторе, минуя изврат с AfterConstruction? |
|
Сообщ.
#1100
,
|
|
|
|
Цитата trainer @ т.е. только что созданный/отрытый еще не измененный документ считается измененным? Однако... trainer, ты читаешь справа-налево или по-диагонали? Добавлено Для читающих по-диагонали и тренеров выделю жирным: Цитата --Ins-- @ Как мне сделать чтобы независимо от этого после выполнения любого конструктора Modified был сброшен? |
|
Сообщ.
#1101
,
|
|
|
|
Предок выставляет свои поля в конструкторе напрямую, а modified ставиться в false. Потомки делают точно также, а свойство modified оказывается не измененным(false). Чего еще нужно-то? |
|
Сообщ.
#1102
,
|
|
|
|
Цитата trainer @ Что мешает потомку установить этот флажок напрямую в своем конструкторе А мешает ему это не сделать, а позаботиться об этом на уровне предка? Ну, кроме возможностей языка? Зачем классу решать чужие задачи? Добавлено Цитата D_KEY @ Потомки делают точно также, а свойство modified оказывается не измененным(false). Чего еще нужно-то? За счет чего оно оказывается неизмененным? За счет того, что мы вызываем конструктор предка? |
|
Сообщ.
#1103
,
|
|
|
|
На поверхностный взляд этот AfterConstruction нужен для того, чтобы не зависеть от того, вызовет ли конструктор потомка конструктор предка или забудет и отработает ли конструктор полностью или нет. Такое вот затыкание дыры. А вовсе не какие-то мифические флажки устанавливать.
|
|
Сообщ.
#1104
,
|
|
|
|
Цитата --Ins-- @ Как бы так извратиться, чтобы извратиться? Вопрос в этом? Перефразирую вопрос: "есть свойство, отвечающее за признак модификации объекта; как мне при модификации объекта не выставлять это свойство?"Как бы так извратиться, чтобы после выполнения конструктора Modified был бы сброшен в false? Я начинаю ненавидеть Дельфи. Азы декомпозиции приходится на третьем листе втолковывать. Действительно, зачем декомпозировать, если хакнуть проще, Дельфи это позволяет. |
|
Сообщ.
#1105
,
|
|
|
|
Цитата trainer @ На поверхностный взляд этот AfterConstruction нужен для того, чтобы Взляд и вправду поверхностный. Может он не заслуживает того, чтобы делать выводы? AfterConstruction нужен для того, чтобы процесс конструирования сделать более гибким. Считай это триггером, который дергается по завершению конструирования независимо от самого кода конструктора |
|
Сообщ.
#1106
,
|
|
|
|
Интересно посмотреть, были ли AfterConstruction и BeforeDestruction в Delphi 1.0?
|
|
Сообщ.
#1107
,
|
|
|
|
Цитата --Ins-- @ Цитата D_KEY @ Потомки делают точно также, а свойство modified оказывается не измененным(false). Чего еще нужно-то? За счет чего оно оказывается неизмененным? За счет того, что мы вызываем конструктор предка? За счет того, что никто его не выставлял в true. |
|
Сообщ.
#1108
,
|
|
|
|
Цитата --Ins-- @ Не. Такого делать нельзя. И подход, кстати, довольно странный... Нет, наверное я действительно мало пояснил. Modified - это просто флажок состояния, которой отвечает, скажем, за то, чтобы спросить у юзера "сохранить изменения?" при закрытии документа если он установлен, и не спрашивать - если он сброшен |
|
Сообщ.
#1109
,
|
|
|
|
Цитата --Ins-- @ Цитата trainer @ На поверхностный взляд этот AfterConstruction нужен для того, чтобы Взляд и вправду поверхностный. Может он не заслуживает того, чтобы делать выводы? AfterConstruction нужен для того, чтобы процесс конструирования сделать более гибким. Считай это триггером, который дергается по завершению конструирования независимо от самого кода конструктора А чтобы узнать, что там происходит для базового класса, мне куда нужно лезть? Я хочу знать, что произойдет после конструировании моего объекта... |
|
Сообщ.
#1110
,
|
|
|
|
Цитата Qraizer @ Перефразирую вопрос: "есть свойство, отвечающее за признак модификации объекта; как мне при модификации объекта не выставлять это свойство?" Неправильно ты перефразировал вопрос. Перефразируй так: как мне на уровне абстрактного класса документа решить задачу по управлению состоянием Modified полностью? Как сделать так, чтобы после конструирования этот статус был сброшен, независимо от того, забудет программист в потомке это сделать явно или не забудет? Зачем я должен заставлять его об этом помнить? |