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

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

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 02.02.2010, 20:09   #31
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не хотелось бы ввязываться в этот умный и бесконечный спор, но здравое звено в словах pproger явно есть!

Цитата:
Сообщение от Stilet
там в любом случае разделение через точку означает работу с обьектами.
Виталий, Вы ошибаетесь.
Это НЕ ТАК!
пример:
Код:
var f : file;
begin
  System.CloseFile(f);
end;

а если интересно, то можно это указывается какая функция из какого модуля должна быть вызвана.
Так же, как и можно указать переменные:
MyUnit.A := 100;



ДОБАВЛЕНО
Цитата:
Сообщение от Stilet
да это никак не ООП, потому что язык поддерживает указания имени модуля и вызываемой из него функции.
Ага. позже увидел...
значит мой пост ничего нового не скажет...

Последний раз редактировалось Serge_Bliznykov; 02.02.2010 в 20:13.
Serge_Bliznykov вне форума
Старый 02.02.2010, 20:26   #32
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

кстати, рекомендую создать такие вещи
1) модуль (unit)
с именем Application
Код:
unit Application;

interface
const Ttf = 1;
type
  Tform = record
    aa : integer;
    show : procedure;
  end;
  procedure Run;
  procedure CreateForm(a : integer; t : Tform);

implementation

procedure CreateForm(a : integer; t : Tform);
begin
  t.aa := a
end;

procedure Run;
begin
  WriteLn('run');
end;


end.
2) основная программа:
Код:
program Project2;
{$APPTYPE CONSOLE}
uses
  Application,
  Classes,
  forms;

var tf:Tform;

begin
  Application.CreateForm(Ttf, tf);
  Application.Run;
  tf.show;
end.
модули Classes, Forms такие:
Код:
unit Classes;

interface

implementation

end.

unit forms;

interface

implementation

end.
Где здесь ООП ?!?!?!?
Вот на это преподаватель и намекал - не видя реализацию методов, нельзя 100%, что программа написана с использованием ООП
Serge_Bliznykov вне форума
Старый 03.02.2010, 01:49   #33
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

И так из-за чего возник вообще такой вопрос. Как бы учусь заочно, как все знают заочно, учатся не много по-другому (всмысле всё изучают самостоятельно). Так что про ооп всё читал сам. И вот я понял, так что уже работая с объектом это уже ооп.

Возможно пример, который я привёл не очень удачный, и не правильно отражает мою мысль. Но например в постах Utkin'a я вижу все те же доводы, что я говорил.
Stilet’a, я тоже его понимаю, но он не много пишет другими словами
Так же как я думаю, понял о чём пытается сказать pproger.

Поэтому попробую объяснить более понятнее, что я имел ввиду.
Сразу извиняюсь, но сижу с мобилы, поэтому более правильно оформлять не могу, нету тут у меня инета другого. И так что-то вроде:
В каком то модуле мы описали классы (в моём же предыдущем примере, там подключен уже созданный модуль борладом, почему то мне кажется разницы особой нету, либо написали за тебя, либо ты сам написал, но в новом примере представим, что написали сами там классы). Его вы мы подключили.
И уже в нашей программе создаём объекты, работаем с ними с их методами и свойствами. Так вот слова препода: "что если мы тут не пишем классы, то это уже не ооп".
Но с объектами, то мы работаем. Но со слов преподавателя получилось, всё на оборот, аргументация была примерно такой: "работаем мы с перемеными объявляя их тип (не дословно, но суть передал)". В какой-то мере он прав получается, но всё таки работаем то мы с объектом. Вот как бы и хочу докапатся так сказать до правды, для себя, чтобы до конца разобраться, а то может я не правильно понял.
dr.Chas вне форума
Старый 03.02.2010, 05:11   #34
alexinspir
Новичок
Джуниор
 
Аватар для alexinspir
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

Цитата:
Сообщение от dr.Chas Посмотреть сообщение
Код:
//сама программа просто для примера
program Project1;
{$APPTYPE CONSOLE}
uses  SysUtils,  forms,  Classes;

var tf:Tform;

procedure sdf;
begin
  Application.CreateForm(Ttf, tf);
  Application.Run;
  tf.Show;
end;

function asdf:string;
begin

end;

begin
  sdf;
end.
Вопрос был такой, используем мы тут объектно-ориентированное программирование?
Нет не используете. Почему?
Если своими словами, то ООП это представление объектов реального(машина)/абстрактного(окошко приложения) мира в виде программного кода, ну или официальным термином - "Абстракция данных".
ООП Намертво связано с такими понятиями как "инкапсуляция", "наследование" и "полиморфизм". - в вашем коде их нету.

Теперь разберемся с "Используются объекты - значит ООП".
вот код:
Код:
int i=4;
int j=5;
std::cout << i+j;
рассуждая по вашему - этот код является примером ООП. вы не согласны? почему? ведь std::cout - это объект выходного потока пространства имен std, т.е. вы используете объекты. И, по вашему определению, следует, что этот код является примером ООП...

пришли к противоречию.
терема доказана.

Цитата:
Сообщение от DeKot Посмотреть сообщение
Программа написана в среде Delphi, а это среда ООП
Эти строки заставили меня рыдать)
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.

Последний раз редактировалось alexinspir; 03.02.2010 в 05:17.
alexinspir вне форума
Старый 03.02.2010, 07:12   #35
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

alexinspir, ну давайте блин замутим рекурсию, только если Вас не затруднит, Вы пожалуйста расписывайте свои доводы, а я ограничусь перечислением постов - #7, #9, #13, #16, #18.

Цитата:
Сообщение от alexinspir Посмотреть сообщение
]Нет не используете. Почему?
Если своими словами, то ООП это представление объектов реального(машина)/абстрактного(окошко приложения) мира в виде программного кода, ну или официальным термином - "Абстракция данных".
Под Ваше определение подпадает структурное программирование . Определение модуля (юнита), функции (и процедуры), области видимости и т.д. .


Цитата:
ООП Намертво связано с такими понятиями как "инкапсуляция", "наследование" и "полиморфизм". - в вашем коде их нету.
Лыко да мочало, начинай сначала. Я могу написать класс без полиморфизма - это что по Вашему не ООП что-ли?

Цитата:
Теперь разберемся с "Используются объекты - значит ООП".
вот код:
Код:
int i=4;
int j=5;
std::cout << i+j;
рассуждая по вашему - этот код является примером ООП. вы не согласны? почему? ведь std::cout - это объект выходного потока пространства имен std, т.е. вы используете объекты. И, по вашему определению, следует, что этот код является примером ООП...
Ну если пошла попытка подловить, то согласно ООП - все является объектом, в Руби даже команды - это объекты так что никакого противоречия.

Цитата:
пришли к противоречию.
терема доказана.
Так что Вы ничего не доказали.
Цитата:
Эти строки заставили меня рыдать)
Это чем? Приятно, когда слова вызывают положительные эмоции .

Цитата:
Где здесь ООП ?!?!?!?
Вот на это преподаватель и намекал - не видя реализацию методов, нельзя 100%, что программа написана с использованием ООП
Но в программе-то используется именно ООП. Мало ли на что он там намекал, в данном случае ООП есть. Речь идет о конкретном примере, а не о возможности написать по-другому.

Цитата:
2Utkin
угу, а когда тебя спросят, использовал ли ты в своей лично написанной программе паттерны проектирования, ты с чистой совестью скажешь да, ибо в vcl (да и в куче библиотек) они используются, и ты это знаешь
Будучи пилотом - пользуетесь ли Вы хвостом самолета? Ведь Вы не знаете как он устроен, не знаете кто его делал и вообще за седня могли его и не видеть.
А если серьезно, то бессмысленно растекаться мыслью по дереву - я знаю что имел ввиду препод, но в данном примере используется ООП.

Цитата:
Цитата:
Сообщение от Stilet
там в любом случае разделение через точку означает работу с обьектами.
Виталий, Вы ошибаетесь.
Это НЕ ТАК!
Это так, ибо юнит это объект, структура это объект...
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 03.02.2010 в 07:44.
Utkin вне форума
Старый 03.02.2010, 08:30   #36
alexinspir
Новичок
Джуниор
 
Аватар для alexinspir
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

как и ожидалось, начались холивары...

одно скажу.
Если основатель темы получит тестовое задание, где ему скажут использовать ООП и он предоставит подобный код и будет доказывать что он в духе ООП - 99% что на собеседование не попадет, не говоря уже об предложении работы.
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.
alexinspir вне форума
Старый 03.02.2010, 08:37   #37
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от alexinspir Посмотреть сообщение
как и ожидалось, начались холивары...
Вот-вот, почему бы Вам не почитать те посты, которые я указал. Вы повторяетесь слово в слово. Речь идет не о языке, а о программе. Не путайте теплое с мягким.

Цитата:
одно скажу.
Если основатель темы получит тестовое задание, где ему скажут использовать ООП и он предоставит подобный код и будет доказывать что он в духе ООП - 99% что на собеседование не попадет, не говоря уже об предложении работы.
Да запросто устроится , на Вас мир клином не сошелся.

Цитата:
Но даже наличие инкапсуляции и наследования не делает язык программирования в полной мере объектным с точки зрения ООП. Основные преимущества ООП проявляются только в том случае, когда в языке программирования реализован полиморфизм.
Все верно - для языка. Но речь идет о фрагменте кода, а не о Делфи (или С++).
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума
Старый 03.02.2010, 09:08   #38
alexinspir
Новичок
Джуниор
 
Аватар для alexinspir
 
Регистрация: 26.08.2008
Сообщений: 1,010
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
Вот-вот, почему бы Вам не почитать те посты, которые я указал.
Там только ваши посты, но к вашему сожалению, мир на вас клином не сошелся (с) , а ваши доводы читаю не достаточно основательными для конечного суждения
Цитата:
Сообщение от Utkin Посмотреть сообщение
Да запросто устроится
Все может быть



Роджер Кинг аргументированно настаивал, что его кот является объектно-ориентированным. Кроме прочих своих достоинств, кот демонстрирует характерное поведение, реагирует на сообщения, наделён унаследованными реакциями и управляет своим, вполне независимым, внутренним состоянием.(с)

Покинул тему
ромик0: Cколько получают здешние модераторы?
pu4koff: У модераторов сдельная оплата труда. Выдал предупреждение - плюс к премии. Выдал бан - лучший модератор месяца со всеми вытекающими.
alexinspir вне форума
Старый 03.02.2010, 09:14   #39
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
ибо юнит это объект
А вот тут я уже не соглашусь.
Юнит это модуль.
Есть Объектно-ориентированное программирование, а есть модульное программирование 9 и не забудем о линейном программировании) Так вот как раз связка Юнит.Процедура - это модульное программирование.
Цитата:
alexinspir
Вижу спорить бесполезно. Я остаюсь при своем мнении
I'm learning to live...
Stilet вне форума
Старый 03.02.2010, 09:23   #40
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от alexinspir Посмотреть сообщение
Там только ваши посты, но к вашему сожалению, мир на вас клином не сошелся (с) , а ваши доводы читаю не достаточно основательными для конечного сужденияВсе может быть
Конечно, там были ответы на Ваши доводы. Если бы Вы их прочли с самого начала, часть ваших аргументов просто не возникла бы в принципе.

Цитата:
Роджер Кинг аргументированно настаивал, что его кот является объектно-ориентированным. Кроме прочих своих достоинств, кот демонстрирует характерное поведение, реагирует на сообщения, наделён унаследованными реакциями и управляет своим, вполне независимым, внутренним состоянием.(с)
Я читал это . Но у меня стандартное оформление, желтый цвет практически не виден на белом фоне .

Цитата:
Покинул тему
Жаль, у меня есть еще вагон и маленькая тележка аргументов .
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума
Закрытая тема


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ООП RABERT Общие вопросы C/C++ 3 18.12.2009 20:32
ООП VladimirVB Общие вопросы Delphi 4 18.11.2009 22:51
Паскаль ООП. Примеры программ с использованием ООП SeЯgey Помощь студентам 5 13.05.2009 21:55
ООП Римма Общие вопросы Delphi 16 15.04.2008 11:32