Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
3-1203489861
Kolan
2008-02-20 09:44
2008.08.03
Как добавить в DataSet колонку.


15-1213376317
parovoZZ
2008-06-13 20:58
2008.08.03
Прозрачность DirectX / OpenGL окна)


2-1215323686
Аврам
2008-07-06 09:54
2008.08.03
checkcombobox компонент


15-1213188408
ПЛОВ
2008-06-11 16:46
2008.08.03
Печать на матричном принтере


10-1139646655
_Seldon_
2006-02-11 11:30
2008.08.03
Delphi+Visio





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский