2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу 1, 2  След.
 
 Эллипс и окружность: что от чего наследуется.
Сообщение22.09.2011, 22:18 


23/12/07
1757
Какая ж схоластика, если, например, все объектно-ориентированное программирование на решении подобных задач построено (когда требуется декомпозицию по классам/подклассам/надклассам производить). Да и мышление наше на этом построено.

 Профиль  
                  
 
 Re: Логика. Определить родовое и видовое понятие для слова ОВАЛ
Сообщение22.09.2011, 22:48 


19/05/10
7

(Оффтоп)

Цитата:
Да и мышление наше на этом построено.

У людей с профессиональной деформацией - вполне может быть.

 Профиль  
                  
 
 Re: Логика. Определить родовое и видовое понятие для слова ОВАЛ
Сообщение22.09.2011, 23:09 
Заслуженный участник


09/09/10
3729
_hum_ в сообщении #485348 писал(а):
все объектно-ориентированное программирование на решении подобных задач построено

Вообще-то нет. Там "окружность не является эллипсом". Собственно говоря, есть множество межпонятийных связей типа "главное-частное" (по-моему, что-то около двадцати выделяли), из которых ООП поддерживает только одну — "наследование".

А вот kolas'у эта задача, наверное, понравилась бы :-)

 Профиль  
                  
 
 Re: Логика. Определить родовое и видовое понятие для слова ОВАЛ
Сообщение22.09.2011, 23:27 


23/12/07
1757
Joker_vD в сообщении #485364 писал(а):
_hum_ в сообщении #485348 писал(а):
все объектно-ориентированное программирование на решении подобных задач построено

Вообще-то нет. Там "окружность не является эллипсом".

О чем вы? Это вообще чуть ли не классический пример: базовый класс - эллипс, производный - окружность (как эллипс с одинаковыми полуосями).

 Профиль  
                  
 
 Re: Логика. Определить родовое и видовое понятие для слова ОВАЛ
Сообщение22.09.2011, 23:35 
Заслуженный участник


09/09/10
3729
_hum_ в сообщении #485379 писал(а):
Это вообще чуть ли не классический пример: базовый класс - эллипс, производный - окружность (как эллипс с одинаковыми полуосями).

Хи-хи. Значит, мало вы классической литературы читали :D Тот же Страуструп то ли в "Язык программирования C++", то ли в "Дизайн и эволюция С++" рассматривает этот пример и заключает, что класс "эллипс" должен наследоваться от класса "окружность", а не наоборот, как вы предложили. Так что... Нету согласия даже по этому вопросу. Некоторые авторы вообще предлагали эллипс и окружность друг от друга не наследовать.

 Профиль  
                  
 
 Re: Логика. Определить родовое и видовое понятие для слова ОВАЛ
Сообщение22.09.2011, 23:37 


23/12/07
1757
Joker_vD в сообщении #485385 писал(а):
класс "эллипс" должен наследоваться от класса "окружность"

Это как?
("Всякий эллипс есть окружность"?)

 Профиль  
                  
 
 Re: Логика. Определить родовое и видовое понятие для слова ОВАЛ
Сообщение23.09.2011, 00:21 
Заслуженный участник


09/09/10
3729
Так, прошу прощения. Страуструп придерживается несколько другой точки зрения:

For example, in Section 23.4.3.1 of his book The C++ Programming Language, 3rd edition (Addison-Wesley, 1997), page 703, Bjarne Stroustrup has this to say:

"For example, in mathematics a circle is a kind of an ellipse, but in most programs a circle should not be derived from an ellipse or an ellipse derived from a circle. The often-heard arguments “because that’s the way it is in mathematics” and “because the representation of a circle is a subset of that of an ellipse” are not conclusive and most often wrong. This is because for most programs, the key property of a circle is that it has a center and a fixed distance to its perimeter. All behavior of a circle (all operations) must maintain this property (invariant). On the other hand, an ellipse is characterized by two focal points that in many programs can be changed independently of each other. If those focal points coincide, the ellipse looks like a circle, but it is not a circle because its operations do not preserve the circle invariant. In most systems, this difference will be reflected by having a circle and an ellipse provide sets of operations that are not subsets of each other."

Он не одинок, есть полно статей, где проводится та же идея, что "окружность — не эллипс, квадрат — не прямоугольник". Например:

  1. K. Baclawski, B. Indurkhya, “The Notion of Inheritance in Object-Oriented Programming” (CACM 37, No. 9, September 1994)
  2. J. Rumbaugh, “A Matter of Intent: How to Define Subclasses” (Journal of Object-Oriented Programming, September 1996)
  3. R.C. Martin, “The Liskov Substitution Principle” (C++ Report, March 1996)

Прямо сейчас я не могу найти предложение наследовать эллипс от окружности, но я его точно видел и читал. Может быть, завтра утром смогу отыскать.

 Профиль  
                  
 
 Re: Логика. Определить родовое и видовое понятие для слова ОВАЛ
Сообщение23.09.2011, 00:42 


23/12/07
1757
Нуу, то, что не всегда практически резонно производить окружность от эллипса, это уже совсем другой вопрос. С этим никто и не спорил. И то, тут рассматриваются скорее не математические понятия "окружность/эллипс" , а программные - Абстрактные Типы Данных, которые, хоть и имеют связь с исходными математическими понятиями, все же могут значительно от них отличаться спецификой операций/свойств, о чем и пишет Страуструп в приведенном вами отрывке.
А вот насчет возможности произведения от окружности эллипса, да, интересно было бы услышать.

 Профиль  
                  
 
 Re: Логика. Определить родовое и видовое понятие для слова ОВАЛ
Сообщение23.09.2011, 00:56 
Заблокирован
Аватара пользователя


24/06/11

237
С планеты Земля

(Оффтоп)

_hum_ в сообщении #485348 писал(а):
Какая ж схоластика, если, например, все объектно-ориентированное программирование на решении подобных задач построено (когда требуется декомпозицию по классам/подклассам/надклассам производить).

ООП тоже схоластика. :)
_hum_ в сообщении #485348 писал(а):
Да и мышление наше на этом построено.

Имхо, мышление устроено намного проще, на формировании и считывании ассоциаций.

 Профиль  
                  
 
 Re: Эллипс и окружность: что от чего наследуется.
Сообщение23.09.2011, 01:05 
Админ форума
Аватара пользователя


19/03/10
8952
Отделено от темы Логика. Определить родовое и видовое понятие для слова ОВАЛ

 Профиль  
                  
 
 Re: Логика. Определить родовое и видовое понятие для слова ОВАЛ
Сообщение23.09.2011, 01:10 


23/12/07
1757

(Оффтоп)

LaTeXScience в сообщении #485419 писал(а):
ООП тоже схоластика. :)

Вам не кажется, что на схоластику больше похожи такие заявления?;)
Цитата:
_hum_ в сообщении #485348 писал(а):
Да и мышление наше на этом построено.

Имхо, мышление устроено намного проще, на формировании и считывании ассоциаций.

У кого как:). Но вообще-то общепризнанный факт о том, что наше сознание с помощью абстрагирования старается выстроить иерархию понятий (LaTeXScience -> форумчанин -> человек -> млекопитающее -> животное -> материальный объект :) ).


2Toucan
Зря отделили (или отделяли бы тогда сразу весь оффтоп, начиная с сообщения ИСН). Теперь ТС останется в уверенности, что то, чем она занимается - никому не нужная схоластика. А на самом деле имеет самое непосредственное применение.

 Профиль  
                  
 
 Re: Эллипс и окружность: что от чего наследуется.
Сообщение23.09.2011, 01:43 
Заблокирован
Аватара пользователя


24/06/11

237
С планеты Земля

(Оффтоп)

_hum_ в сообщении #485424 писал(а):
Вам не кажется, что на схоластику больше похожи такие заявления?;)

ООП - это миф, на самом деле его не существует. Это всего-лишь примитивная надстройка над структурным программированием. Об этом, если мне не изменяет память, еще Вирт говорил.
_hum_ в сообщении #485424 писал(а):
Но вообще-то общепризнанный факт о том, что наше сознание с помощью абстрагирования старается выстроить иерархию понятий (LaTeXScience -> форумчанин -> человек -> млекопитающее -> животное -> материальный объект :) ).

Так суть в том, что "LaTeXScience" есть элемент множества форумчане, которое есть подмножество множества "люди" и т.д. А как у человека в мозгу "хранятся" множества? C помощью ассоциаций. Например, Вы видите меня на форуме, у Вас всплывает в мозгу сформировавшая ранее ассоциация между теми кого Вы видите на форуме и термином "форумчане", ну и т.д. Или, например, Вы знаете членов своей семьи, потому что у Вас сформированы ассоциации между каждым из них и понятием "моя семья".

 Профиль  
                  
 
 Re: Эллипс и окружность: что от чего наследуется.
Сообщение23.09.2011, 08:28 
Заслуженный участник
Аватара пользователя


21/12/05
5907
Новосибирск
_hum_ в сообщении #485424 писал(а):
Теперь ТС останется в уверенности, что то, чем она занимается - никому не нужная схоластика.

Что-то я сомневаюсь, что ТС этим занимается - ей в каком-то курсе логики такую задачу предложили. Вот, с тем что это логика ИСН и не согласился. Я с его оценкой полностью согласен.
Ну а ООП, хотя я в нём и не разбираюсь - это уж точно не логика. Правильно отделили.

 Профиль  
                  
 
 Re: Эллипс и окружность: что от чего наследуется.
Сообщение23.09.2011, 09:11 
Заслуженный участник
Аватара пользователя


12/10/05
478
Казань
Прикольная задача - насчет того, что от чего должно наследоваться - круг от эллипса или наоборот. Я как то даже хотел ее своим коллегам по работе задать :) Мое мнение - они друг от друга не должны наследоваться, поскольку человек, не сведующий в математике, воспринимает их как разные фигуры. То, что математически эти кривые тесно связаны не говорит о том, что одну из них нужно наследовать от другогй. Причины, почему этого делать не надо, подробно описал Страуструп (см. цитата выше).
Когда речь идет о наследовании - важно решить, не то, чем на самом деле являются сущности, а то, как мы их будем использовать. Есть ли у них какие-то общие свойства или общие действия, которые над ними можно производить. Если есть 2 сущности и у второй есть все те же признаки и свойства, что у первой плюс еще что-то - да, вторую сущность имеет смысл наследовать от первой (наследование - по сути не что иное как "расширение", не зря в Java наследование объявляется ключевым словом extends). В противном случае одно от другого наследовать не стоит.

 Профиль  
                  
 
 Re: Эллипс и окружность: что от чего наследуется.
Сообщение23.09.2011, 09:17 
Заблокирован
Аватара пользователя


11/09/11

650
Все намного проще! Если на окружность посмотреть прямо в глаза, то она сама и будет. А если косо так посмотреть - будет вам и эллипс, а то и даже унылый отрезок прямой! :D

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 24 ]  На страницу 1, 2  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group