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

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

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

Восстановить пароль

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

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 02.02.2010, 17:13   #21
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
функцией-членом я назвал неправильно обозванный тобой метод, а не свойство. нету в плюсах методов. в яве и смалтолке есть. не в плюсах
Вы спорите о наименовании терминов, а не о тех вещах, которые они представляют.
Говорю метод - имею ввиду функцию объекта. Разница в том, что в Делфи есть процедуры - функции с модификатором void если хотите. Поэтому и требуются телодвижения, отличные от С++. Но суть от этого не изменилась. Метод (или Ваша классовая функция, как бы Вы ее не называли) - это всего лишь обычная подпрограмма, но ООП не даст ее использовать как обычную подпрограмму. Поэтому в строке tf.Show нельзя вызвать Show независимо от tf.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума
Старый 02.02.2010, 17:19   #22
pproger
C++ hater
Старожил
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Utkin я не пойму, что ты хочешь этим постом мне доказать) я объяснил, что я имел ввиду не свойство == функция член, а "метод" == функция член. (ты это интерпретировал иначе).

Цитата:
Ну свойство, функция-член, хоть горшком обзови, только в печь не ставь. Что говорить о терминах если суть не меняется. А суть в том, что структура может иметь функции-члены (ох и не нравится мне это словоблудие ), а может не иметь.
2Stilet
Цитата:
Это однозначно метод, ибо вызывается он по правилам вызова методов и свойств - Объект.метод.
а если я дам тебе такой код
Код:
some.doSome(10, 23);
ты скажешь, что это объект и функция член в понимании ООП?

господа, вы делаете выводы, основываясь на знании того, что vcl написана на ооп. хотя ИЗНАЧАЛЬНЫЙ вопрос был только о использовании ПРОГРАММОЙ ООП
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума
Старый 02.02.2010, 17:20   #23
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
ты скажешь, что это объект и функция член в понимании ООП?
Да. Вполне. А ты считаешь обратное? Если да то почему?
I'm learning to live...
Stilet вне форума
Старый 02.02.2010, 17:24   #24
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от pproger Посмотреть сообщение
господа, вы делаете выводы, основываясь на знании того, что vcl написана на ооп. хотя ИЗНАЧАЛЬНЫЙ вопрос был только о использовании ПРОГРАММОЙ ООП
Само собой, когда я пишу программу, то я имею представление, что я делаю и зачем.
Вот правильно - об использовании ООП, а не о создании своих классов.

uses SysUtils, forms, Classes;
Я знаю эти модули, в них нет структуры Application в обычном понимании. Но я также знаю, что при запуске программы автоматически создается объект класса TApllication.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Utkin; 02.02.2010 в 17:27.
Utkin вне форума
Старый 02.02.2010, 17:25   #25
pproger
C++ hater
Старожил
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

Stilet
Цитата:
Да. Вполне. А ты считаешь обратное? Если да то почему?
я всего лишь пытаюсь объяснить, что нельзя сказать, написана ли программа на ооп или нет основываясь только на вызове, как может показаться метода.

Код:
void foo(int a, int b)
{
	cout << a << endl;
}

typedef struct APP {
	void (*CreateForm)(int, int);
}Application;


int main()
{
	int a = 123;
	int b = 100;

	Application app;
	app.CreateForm = foo;
	app.CreateForm(a, b);

	return 0;
}
ура, моя программа написана с использованием ооп? именно это вы все сейчас мне доказываете
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума
Старый 02.02.2010, 17:30   #26
pproger
C++ hater
Старожил
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Utkin
угу, а когда тебя спросят, использовал ли ты в своей лично написанной программе паттерны проектирования, ты с чистой совестью скажешь да, ибо в vcl (да и в куче библиотек) они используются, и ты это знаешь
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума
Старый 02.02.2010, 17:36   #27
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
pproger
Друже, во-первых видно что программа написана на Делфи, а в Делфи нет стркутур с методами, как ты привел в примере, там в любом случае разделение через точку означает работу с обьектами.
Во вторых - многие программисты признают (и даже описывают в языках) что определение структуры, содержащей метод уже является описанием обьекта. т.е.
Код:
typedef struct APP {
	void (*CreateForm)(int, int);
}Application;
описание обьекта Application.
Единственное за что можно зацепиться так это то что в Си помимо такого есть еще и классы.

В Обероне то же обьекты описываются через RECORD а не через class, хоть Вирт и называет это записями, но в других языках это классы.
Смысл то одинаковый - это все равно объект, подчиняющийся принципам ООП.
Цитата:
ты с чистой совестью скажешь да, ибо в vcl (да и в куче библиотек) они используются, и ты это знаешь
Я бы сказал - Да.
I'm learning to live...
Stilet вне форума
Старый 02.02.2010, 17:41   #28
pproger
C++ hater
Старожил
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Stilet
я говорил про метадологию ооп, а не что можно или нельзя считать объектами (в вашем случае еще и языкозависимо). и наличие qwe.ole() ниразу признак метадологии ооп.

Цитата:
Я бы сказал - Да.
и нагло бы соврали, к сожалению. все, теперь точно молчу, тока читать буду
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума
Старый 02.02.2010, 17:50   #29
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
pproger
У меня своя точка зрения.

В Делфи я не видел вызовов (исключая работу с интерфейсами, которых я тоже считаю обьектами, и прописывание полного пути с указанием модуля функции), которые бы неоднозначно говорили мне о том что в данном случае используется, ООП, или просто процедура.

Единственная разница если ты напишешь System.Pos() - да это никак не ООП, потому что язык поддерживает указания имени модуля и вызываемой из него функции.
Вот тут я обеими четырьмя конечностями за, но в программе представленной автором я не вижу чтоб вызывалась функция по полному пути, указывая модуль, ее содержащий, Напротив там вызываются обьекты.
Если докажешь что qwe.ole() в Делфи - это не вызов метода то я соглашусь с тобой однозначно.
Но пока что не вижу смысла в твоем мнении.
I'm learning to live...
Stilet вне форума
Старый 02.02.2010, 18:04   #30
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Цитата:
Во вторых - многие программисты признают что определение структуры, содержащей метод уже является описанием обьекта.
Более того структура это и есть описание объекта, различие только в том, что в структуре изначально все поля, методы открыты.
Levsha100 вне форума
Закрытая тема


Купить рекламу на форуме - 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