ПрограммированиеФорумОбщее

Линус Торвальдс ненавидит С++. А мы с вами? (26 стр)

Страницы: 125 26 27 2830 Следующая »
#375
22:37, 27 янв 2012

vladislav
> Я могу сказать, что не ООП ;)

"Какие ваши доказательства ?" (c) Красная жара

> > а ты не ответил на мой вопрос :)
> На какой?

что такое не ООП ?

#376
22:37, 27 янв 2012

innuendo
> Страуструп писал об этом задолго до ...
Задолго до чего? Ты читал ранние издания его книг? В последнем издании "Язык программирования С++" можно и о с++11 почитать.

innuendo
> Перегрузка операторов
Окей, давай считать, что перегрузка эквивалента полиморфизму. Только это ничего не меняет. Тип int и complex не полиморфны. Что, в общем-то, и сказал vladislav

vladislav
> Что это?
Это мощный пример на ООП. Берется два подхода, приводящих к идентичному результату и считается, что за счет этого мы можно сделать крутое полиморфное поведение. Кстати это возникло после того, как было отмечено, что разные способы представления комплексных чисел - это не пример полиморфного поведения

#377
22:38, 27 янв 2012

innuendo
Просто ты, похоже, пытаешься противопоставит С++ и С - т.е. все, чего нету в С, но есть в С++ - это ООП. Очевидно, что это не так.

Я, кстатити, тоже поступаю похожим образом - я считаю, что все, что есть в Хаскель - не ООП ;)

#378
22:41, 27 янв 2012

crsib
Ну да. на примере какой-нить жабы и факта, что есть боксовый тип Integer, отнаследованый от Object, доказывает, что целое число - это ООП.

#379
22:43, 27 янв 2012

crsib
> > Страуструп писал об этом задолго до ...
> Задолго до чего? Ты читал ранние издания его книг?

я читал Страуструпа самые ранние произведения, и не только Страуструпа, Александреску даже близко тогда не было

> > Перегрузка операторов
> Окей, давай считать, что перегрузка эквивалента полиморфизму.

ну как бы это было ясно с самого начала :)

> Тип int и complex не полиморфны

я говорил, что существует операция +, полиморфна для int и complex

> Берется два подхода, приводящих к идентичному результату и считается

покажи примеры из АИ, где пишется что это два разных подхода ?

vladislav
> Просто ты, похоже, пытаешься противопоставит С++ и С - т.е. все, чего нету в С,
> но есть в С++ - это ООП. Очевидно, что это не так.

нет, я чётко привёл признаки ООП, они ( эти признаки ) на месте - так что я прав :), опровергни

#380
22:45, 27 янв 2012

vladislav
> Integer, отнаследованый от Object, доказывает, что целое число - это ООП.
Ну вот как раз важно, что есть боксовый тип, унаследованный от java.lang.Number. При этом Number обеспечивает полиморфное поведение. Только вот наши друзья этого не хотят понимать.

#381
22:55, 27 янв 2012

innuendo
> я говорил, что существует операция +, полиморфна для int и complex
Ну, вот в С99 есть комплексные числа. Вот такой код

#include <complex.h>
#include <stdio.h>
int main()
{
  float _Complex a = 1.0f + 1.0f*_Complex_I;
  float _Complex b = 2.0f + 2.0f*_Complex_I;
  float _Complex c = a + b;
  printf("c = %f + i%f", __real__ c, __imag__ c);
}

там работает.
Т.е. С99 - это ООП?

#382
22:58, 27 янв 2012

innuendo
> полиморфна для int и complex
Зато типы int и complex не полиморфны.

innuendo
> Александреску даже близко тогда не было
Даже боюсь представить где он тогда был)) Тем не менее, к термину причастны Саттер и Александреску в гораздо большей степени, нежели Страуструп.

innuendo
> нет, я чётко привёл признаки ООП
Не, не привел. У atavin-ta получилось чуть лучше, но тоже не о том. У больно не удачный пример.

В общем идея полимормофизма в ооп в том, что полиморфные объекты взаимозаменяемы.


atavin-ta
> Но ты не обратил внимания, что один и тот же оператор различно перегружается
> для разных версий одного типа, различающихся внутренним представлением данных,
> сохраняя при этом весь интерфейс и семантику и оба раза являясь членом. А
> перекрытие в потомке функции, или оператора предка при сохранении и синтаксиса,
> и семантики называется уже иначе.
В твоем случае это override, да. Но я с innuendo общался. Так что коментарий не в тему.

В том, что ты под конец писал, есть подобие ООП. Но это случай штампования объектов ради объектов. Разное у них представление или нет, но результат сугубо один. И не факт, что ты в итоге реализуешь именно полиморфное поведение.

vladislav
> Т.е. С99 - это ООП?
Ну там же есть слово class. ;) В общем это уже совсем стало похоже на попытку затролить троля. У innuendo слишком богатый опыт в тролинге, нам его не переплюнуть xD

#383
22:59, 27 янв 2012

vladislav
> Т.е. С99 - это ООП?

разве я сказал, что ООП - это только полиморфизм ? по-моему, там ещё что-то было :)

#384
22:59, 27 янв 2012

innuendo
> нет, я чётко привёл признаки ООП, они ( эти признаки ) на месте - так что я
> прав :), опровергни
Какие признаки?
Ты привел 3 штуки: класс (WTF???) полиморфизм (правда, статический) и инкапсуляция (я хотел уточнить, какие еще скрытые поля может содержать комплексное число). Или ты серьезно считаешь, что если прямой доступ ко ВСЕМ полям заменить на ТРИВИАЛЬНЫЙ геттер/сеттер - это ООП?

#385
23:01, 27 янв 2012

vladislav
> класс (WTF???)
Вот кстати да, innuendo так и не рассказал нам, что будет, если мы class заменим на struct ))

#386
23:02, 27 янв 2012

crsib
> > нет, я чётко привёл признаки ООП
> Не, не привел.

http://www.gamedev.ru/code/forum/?id=135080&page=24#m346

?

vladislav
> Или ты серьезно считаешь, что если прямой доступ ко ВСЕМ полям заменить на
> ТРИВИАЛЬНЫЙ геттер/сеттер - это ООП?

естественно, не считаю :)

crsib
> В общем это уже совсем стало похоже на попытку затролить троля.

уважаемый, вы по каким книжечкам ООП на С++ учились ? я вот учился по книжечкам года так 93-94 ...

#387
23:03, 27 янв 2012

crsib
Да, на прошлых выходных был интересный флейм, на этих что-то не интересно совсем.
Ой, так эта тема еще и в основном разделе...

#388
23:03, 27 янв 2012

crsib
> от кстати да, innuendo так и не рассказал нам, что будет, если мы class заменим
> на struct ))

пожалуйста, будет ООП с нарушением инкапсуляции - так устроит ? :)

#389
23:04, 27 янв 2012

innuendo
> естественно, не считаю :)
Ок, тогда "огласите весь список, пожалуйста" (для комплексного числа).

Страницы: 125 26 27 2830 Следующая »
ПрограммированиеФорумОбщее

Тема в архиве.