Форум: "Прочее";
Текущий архив: 2008.08.03;
Скачать: [xml.tar.bz2];
ВнизИщу работу Найти похожие ветки
← →
oxffff © (2008-06-16 12:18) [160]
> Плохиш © (16.06.08 12:15) [152]
>
> > oxffff © (16.06.08 12:12) [150]
>
> Тебе, вроде, уже на этой странице три! раза ответили.
От вас я только слышу заявление о якобы нарушении ООП.
Но никто не привел формулировку правила которое нарушено.
Одна только болтовня с вашей стороны. Уж извините.
← →
Anatoly Podgoretsky © (2008-06-16 12:19) [161]> Ega23 (16.06.2008 12:08:26) [146]
Ты тоже ошибаешься, может задача стоит менять Caption именно у Form1, а не у Self
← →
Anatoly Podgoretsky © (2008-06-16 12:20) [162]> oxffff (16.06.2008 12:12:30) [150]
А с чего ты взял, что это экземпляр класса?
← →
oxffff © (2008-06-16 12:21) [163]
> Ega23 © (16.06.08 12:17) [158]
>
> > Я второй раз вас спрашиваю где нарушение ООП Object Pascal?
>
>
>
> Класс "Пассажирский самолёт ТУ-154М" не должен ничего знать
> о пассажирском самолёте ТУ-154М с бортовым номером 34567
> и базирующимся в Благовещенске.
Страница в Г. Буч где об этом говорится?
← →
isasa © (2008-06-16 12:23) [164]Anatoly Podgoretsky © (16.06.08 12:18) [159]
А что такое Form1 в данном случае?
Ну, компилятор сначала пошлет с сообщением о необъявленной переменной Form1, ну а дальше сожрет исходник с объявленной переменной Form1 любого класса где есть свойство Caption не ниже public
← →
oxffff © (2008-06-16 12:24) [165]
> Ega23 © (16.06.08 12:17) [158]
>
> > Я второй раз вас спрашиваю где нарушение ООП Object Pascal?
>
>
>
> Класс "Пассажирский самолёт ТУ-154М" не должен ничего знать
> о пассажирском самолёте ТУ-154М с бортовым номером 34567
> и базирующимся в Благовещенске.
А как тебе тогда такая постановка вопроса?
Это президенский борт и все самолеты должны передавать данные о своем положении ему?
← →
Anatoly Podgoretsky © (2008-06-16 12:26) [166]> isasa (16.06.2008 12:15:36) [156]
Правильно, что бы конкретно говорить необходимо обладать всем кодом программы или объемливающей ее частью, которая одназначно гарантирует, что это весь текст, которые относится к данному предмету с именем Form1 и иметь техническое задание, иначе тоже без толку.
Это очень похоже на загадку ловушку, но программист не должен быть тупоумным, увидел знакомые буквы и решил, что решил задачу, он обязан видеть все варианты, а их уже много предложили.
Иначе и получаем программы, где мол ошибки в данном месте быть не может и проверять не надо.
Неужели не видел подобных утверждений, в том числе и от некоторых участников данной ветки.
Это ограниченность.
← →
b z (2008-06-16 12:27) [167]Почему-же автор ошибки молчит ... :(
← →
oxffff © (2008-06-16 12:29) [168]
> isasa © (16.06.08 12:15) [156]
> Этот код компилируется и ошибки в нем нет.
Согласен.
← →
Ega23 © (2008-06-16 12:30) [169]
> Это президенский борт и все самолеты должны передавать данные
> о своем положении ему?
А вот тогда вводится класс "Реестр всех самолётов". Куда каждый самолёт передаёт свои данные. И к которому экземпляр класса "Президентский самолёт" имеет доступ (кстати, и он сам туда же свои данные передаёт).
Т.е. имеет место кривая архитектура классов, только и всего. Нерабочей ошибкой это назвать нельзя. Но и правильным решением - тоже. Как некая "быстрая заплатка" - да, потянет. Но по своему опыту могу сказать, что нет ничего более постоянного, чем временные заплатки в программе.
← →
isasa © (2008-06-16 12:31) [170]Anatoly Podgoretsky © (16.06.08 12:26) [166]
> isasa (16.06.2008 12:15:36) [156]
Правильно, что бы конкретно говорить необходимо обладать всем кодом программы или объемливающей ее частью,
Это намек на? ...
type
TFormBuffer: class
public
Caption: ShortString;
.....
end;
var
Form1:TFormBuffer;
....
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Caption := "Где здесь ошибка?" ;
end;
← →
clickmaker © (2008-06-16 12:38) [171]> Класс "Пассажирский самолёт ТУ-154М" не должен ничего знать
> о пассажирском самолёте ТУ-154М с бортовым номером 34567
← →
Игорь Шевченко © (2008-06-16 12:39) [172]Розыч был дважды наивен :)
← →
isasa © (2008-06-16 12:41) [173]Ega23 © (16.06.08 12:30) [169]
А вот тогда вводится класс "Реестр всех самолётов". Куда каждый самолёт передаёт свои данные. И к которому экземпляр класса "Президентский самолёт" имеет доступ (кстати, и он сам туда же свои данные передаёт).
Т.е. имеет место кривая архитектура классов, только и всего. Нерабочей ошибкой это назвать нельзя. Но и правильным решением - тоже. Как некая "быстрая заплатка" - да, потянет. Но по своему опыту могу сказать, что нет ничего более постоянного, чем временные заплатки в программе.
Тоже не кошерно. Тут удобнее делать интерфейс...
Короче
"Не стреляйте в программиста, он играет, как умеет"
Результат, наше все...
← →
oxffff © (2008-06-16 12:42) [174]
> Ega23 © (16.06.08 12:30) [169]
>
> > Это президенский борт и все самолеты должны передавать
> данные
> > о своем положении ему?
>
>
> А вот тогда вводится класс "Реестр всех самолётов". Куда
> каждый самолёт передаёт свои данные. И к которому экземпляр
> класса "Президентский самолёт" имеет доступ (кстати, и
> он сам туда же свои данные передаёт).
Во первых жду ответа на указание правила ООП которое нарушено.
Во вторых я могу показать в предложенном тобой решение
есть несколько недостатков.
Вынесение посредника для одного потребителя информации неэфективно.
Тобой предложен механизм опроса, а не мгновенного уведомеления.
Для этого придется городить callback метод. И т.д и т.п.
Но главное ты не можешь создать один мощный сокрытый экземпляр.
← →
isasa © (2008-06-16 12:43) [175]Игорь Шевченко © (16.06.08 12:39) [172]
Розыч был дважды наивен :)
Да ну ее нафиг, ту работу. :)
← →
Ega23 © (2008-06-16 12:57) [176]
> Во первых жду ответа на указание правила ООП которое нарушено.
> Класс "Пассажирский самолёт ТУ-154М" не должен ничего знать
> о пассажирском самолёте ТУ-154М с бортовым номером 34567
← →
Пробегал2.... (2008-06-16 13:14) [177]Плохиш © (16.06.08 11:29) [124]
Вы можете маразмом страдать сколько угодно.
я тоже так считаю. Полностью понимая в чем дело, все равно разводить понты и упираться рогом - это говорит уже минимум о характере. Ну не возьмут на работу из-за характера (как с таким человеком потом работать в комманде), а не из-за отсутствия знаний. Будет гордый ходить и говорить, что все работодатели - лохи. Непризнанный гений, ага. Такие у нас каждые вторые ;)
← →
Anatoly Podgoretsky © (2008-06-16 13:22) [178]> isasa (16.06.2008 12:23:44) [164]
> А что такое Form1 в данном случае?
Имя модуля, а Caption имя переменной.
← →
Anatoly Podgoretsky © (2008-06-16 13:25) [179]> isasa (16.06.2008 12:31:50) [170]
Может и так, а может
unit Form1
var
Caption: string;
← →
clickmaker © (2008-06-16 13:27) [180]> unit Form1
>
> var
> Caption: string;
теоретически возможно, но практически представить трудно
← →
isasa © (2008-06-16 13:32) [181]Anatoly Podgoretsky © (16.06.08 13:25) [179]
Может и так, а может
Тогда правильный ответ на вопрос "Где здесь ошибка?"
Не объявленная переменная Form1, что и скажет каомпилятор.
Остальное все претензии тестера ...
Вопрос абсолютно не двусмысленный и, в случае тестов о приеме на работу в выдвижением претензий, я бы развернулся и ушел.
Это неадекватность рабочей среды у работодателя.
Непогрешимость авторитета?
← →
Anatoly Podgoretsky © (2008-06-16 13:50) [182]> clickmaker (16.06.2008 13:27:00) [180]
Ты явно имеешь ограниченое представление о гибкости "ума" некоторых начинающих и не только.
← →
Ega23 © (2008-06-16 13:51) [183]
> Ты явно имеешь ограниченое представление о гибкости "ума"
> некоторых начинающих и не только.
Класс. Запишу в цЫтатник.
← →
Virgo_Style © (2008-06-16 13:52) [184]imho.
Уровень ответа должен быть адекватен уровню вопроса.
Школьные задачи о наклонной плоскости можно решать с учетом высоты над уровнем моря и сопротивления воздуха.
Можно вспомнить, что Земля не имеет форму шара и не вращается вокруг Солнца.
Можно придумать сотню нестандартных способов измерения высоты башни с помощью барометра.
Вопрос в уместности этого в каждом конкретном случае.
← →
Ega23 © (2008-06-16 13:54) [185]
> Можно придумать сотню нестандартных способов измерения высоты
> башни с помощью барометра.
Сотню сложно.
← →
VirEx © (2008-06-16 14:05) [186]
> [118] Игорь Шевченко © (16.06.08 11:11)
> Точка зрения компилятор и точка зрения работодателя - это
> две разные точки зрения.
>
> Например, если соискатель принесет такой код, верный с точки
> зрения компилятора:
получится, у работодателя будет установлен DelforExp и он приучит кадра нажимать ^D соответствующим пунктом в договоре
← →
isasa © (2008-06-16 14:11) [187]Все. Последняя реплика и пошел пить пиво...
Вот интересно. В среде код, скорее всего будет построен так
...
interface
...
var
Form1: TForm1;
implementation
....
procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Caption := "Где здесь ошибка?" ;
end;
Пре изменении имени Form1 на скажем Oops1 и рефакторинге, будет изменение Oops1.Caption?
Или данный код не относится к программированию на Delphi?
← →
Anatoly Podgoretsky © (2008-06-16 14:11) [188]> isasa (16.06.2008 13:32:01) [181]
И правильно сделал бы, поскольку потом обязательно возникнут проблемы.
← →
Anatoly Podgoretsky © (2008-06-16 14:15) [189]> isasa (16.06.2008 14:11:07) [187]
Вероятность свыше 100%
← →
clickmaker © (2008-06-16 14:45) [190]> [187] isasa © (16.06.08 14:11)
> Все. Последняя реплика и пошел пить пиво...
везет людям. В 2 часа уже можно пиво пить )
← →
isasa © (2008-06-16 14:50) [191]clickmaker © (16.06.08 14:45) [190]
везет людям. В 2 часа уже можно пиво пить )
У нас сегодня выходной. Троица вчера была. Так что в 2 часа - это уже, скорее всего, поздно ...
← →
isasa © (2008-06-16 14:53) [192]Anatoly Podgoretsky © (16.06.08 14:15) [189]
Вероятность свыше 100%
Тогда...
Если данная схема использования имен предусмотрена разработчиком среды, то о чем мы говорим. О какой "ошибке".
← →
oxffff © (2008-06-16 14:53) [193]
> isasa © (16.06.08 14:11) [187]
> Все. Последняя реплика и пошел пить пиво...
> Вот интересно. В среде код, скорее всего будет построен
> так
>
> ...
> interface
> ...
> var
> Form1: TForm1;
>
> implementation
>
> ....
>
> procedure TForm1.Button1Click(Sender: TObject);
> begin
> Form1.Caption := "Где здесь ошибка?" ;
> end;
>
>
> Пре изменении имени Form1 на скажем Oops1 и рефакторинге,
> будет изменение Oops1.Caption?
> Или данный код не относится к программированию на Delphi?
>
В этом коде нет ошибок. Все согласны?
← →
Ega23 © (2008-06-16 14:57) [194]
> В этом коде нет ошибок. Все согласны?
Ошибок - нет. Кривизна - есть.
← →
clickmaker © (2008-06-16 14:58) [195]> В этом коде нет ошибок. Все согласны?
это бессмысленный код. К тому же непонятный. Зачем? чего хотели добиться?
единственный вариант - установка заголовка одной формы из нескольких модулей (судя по тому, что переменная в interface) - и тот кривой. Нет проверки хотя бы на nil.
← →
oxffff © (2008-06-16 15:07) [196]clickmaker © (16.06.08 14:58) [195]
> Нет проверки хотя бы на nil.
Ну мы этот вариант разобрали в oxffff © (16.06.08 11:16) [120].
А окромя этого.
Тут бывалые зыбры говорят о каких нарушения ООП.
Есть такое?
← →
Плохиш © (2008-06-16 15:07) [197]Чуть, чуть протухшая осетрина...
← →
oxffff © (2008-06-16 15:08) [198]
> Ega23 © (16.06.08 14:57) [194]
>
> > В этом коде нет ошибок. Все согласны?
>
>
> Ошибок - нет. Кривизна - есть.
В студию. Кратко.
← →
oxffff © (2008-06-16 15:09) [199]
> Плохиш © (16.06.08 15:07) [197]
> Чуть, чуть протухшая осетрина...
Я жду от вас ответа на нарушении ООП. В противном случае воспринимаем ваши реплики как пустой треп.
← →
isasa © (2008-06-16 15:15) [200]Ega23 © (16.06.08 14:57) [194]
Ошибок - нет. Кривизна - есть.
Ну а куда ты поместишь инициализацию экземпляра формы, чтобы он был при Создать форму.
Ну Борланд придумал так, плюс еще..
Application.CreateForm(TForm1, Form1);
Компилируй и юзай. Что неправильно. Да "пложой стиль", не по правилам(сейчас oxffff © меня сожрет). Не нравится исправляй.
Ответ в том, исправит ли рефакторинг(или предложаит исправить Form1 на Self) ? :)
Страницы: 1 2 3 4 5 6 7 вся ветка
Форум: "Прочее";
Текущий архив: 2008.08.03;
Скачать: [xml.tar.bz2];
Память: 0.82 MB
Время: 0.033 c