Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.08.03;
Скачать: CL | DM;

Вниз

Ищу работу   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.83 MB
Время: 0.055 c
9-1171745487
Mr.Vlad
2007-02-17 23:51
2008.08.03
Несколько действий


2-1214987265
Ega23
2008-07-02 12:27
2008.08.03
Избавиться от warning а в потомке TStringList


6-1191491127
Tonich
2007-10-04 13:45
2008.08.03
OnDisconnect


15-1213769687
БарЛог
2008-06-18 10:14
2008.08.03
Запаролить документ excel 2007 средствами excel


15-1213716332
Dmitry S
2008-06-17 19:25
2008.08.03
Перестановки