ООП: что главнее, матрица или вектор
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
| ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
| [216.73.216.192] |
|
|
Правила раздела:
| Страницы: (7) « Первая ... 2 3 [4] 5 6 ... Последняя » все ( Перейти к последнему сообщению ) |
ООП: что главнее, матрица или вектор
|
Сообщ.
#46
,
|
|
|
|
Квадрат - это всегда прямоугольник. И так и надо наследоваться, если мы решили наследоваться. Но вот прямоугольник - это далеко не всегда квадрат, даже иммутабельный, ибо всё равно для внешнего по отношению к классам кода должен соблюдаться принцип подстановки. Добавлено В какой предметной области квадрат - не прямоугольник? |
|
Сообщ.
#47
,
|
|
|
|
Цитата MyNameIsIgor @ В какой предметной области квадрат - не прямоугольник? Выше уже предлагалось сделать защищенное наследование квадрата от прямоугольника. С предметной областью тут пока не понятно но видно, что квадрат - это уже не прямоугольник |
|
Сообщ.
#48
,
|
|
|
|
Цитата BlackEmperor @ Выше уже предлагалось сделать защищенное наследование квадрата от прямоугольника А при чём тут я? Я такого не предлагал. Цитата BlackEmperor @ но видно, что квадрат - это уже не прямоугольник Я куда-то не туда сморю... В сторону какой предметной области мне повернуться, чтобы увидеть? |
|
Сообщ.
#49
,
|
|
|
|
Цитата MyNameIsIgor @ В таком направлении развивалась математика На самом же деле действительные - частный случай комплексных, а целые - частный случай действительных. А предложенная вами иерархия не отвечает принципу подстановки. Отвечает. У меня безошибочные вычисления и все числа сводятся к целым и знак числа храниться отдельной переменной для простоты умножения. |
|
Сообщ.
#50
,
|
|
|
|
Цитата BlackEmperor @ Все зависит от предметной области, для которой создается сущность, какие методы и поля для той или иной сущности интересны в ракурсе той или иной системы. А от этого уже и будет зависеть связаны наследованием сущности или нет. Так и я о том же. |
|
Сообщ.
#51
,
|
|
|
|
Цитата Pavia @ Отвечает Серьёзно? У вас комплексные - наследник действительных, я правильно понял? Как же тогда будет работать код, который не в курсе о мнимой части? Добавлено Цитата D_KEY @ Цитата BlackEmperor @ Все зависит от предметной области, для которой создается сущность, какие методы и поля для той или иной сущности интересны в ракурсе той или иной системы. А от этого уже и будет зависеть связаны наследованием сущности или нет. Так и я о том же. Все знают эти особые предметные области, один я дурак |
|
Сообщ.
#52
,
|
|
|
|
Цитата BlackEmperor @ но видно, что квадрат - это уже не прямоугольник Это в данном конкретном случае. В математике является. А в какой-то из ваших программ может. Почему нет? Добавлено Цитата MyNameIsIgor @ Цитата D_KEY @ Цитата BlackEmperor @ Все зависит от предметной области, для которой создается сущность, какие методы и поля для той или иной сущности интересны в ракурсе той или иной системы. А от этого уже и будет зависеть связаны наследованием сущности или нет. Так и я о том же. Все знают эти особые предметные области, один я дурак ![]() Так говорят, что есть зависимость от предметной области, а не то, что они знают конкретные хорошие примеры для синтетических случаев |
|
Сообщ.
#53
,
|
|
|
|
Цитата D_KEY @ Так говорят, что есть зависимость от предметной области Но не называют эти предметные области. Цитата D_KEY @ а не то, что они знают конкретные хорошие примеры для синтетических случаев Угу, теперь обвинения в искусственности, а всё ради священной коровы ООП |
|
Сообщ.
#54
,
|
|
|
|
Цитата MyNameIsIgor @ Цитата D_KEY @ Так говорят, что есть зависимость от предметной области Но не называют эти предметные области. Не обо всем принято говорить ![]() Все примерно представляют о чем речь, но конкретику оставляют за кадром |
|
Сообщ.
#55
,
|
|
|
|
Цитата BlackEmperor @ Все примерно представляют о чем речь, но конкретику оставляют за кадром ![]() Цитата MyNameIsIgor @ А вообще прикольно как вы юлите [...] И всё только лишь для того, чтобы не признавать, что инструмент имеет ограничения и для подобных случаев не подходит. |
|
Сообщ.
#56
,
|
|
|
|
Цитата MyNameIsIgor @ а всё ради священной коровы ООП ![]() Мы тут про применимость и неприменимость наследования говорим, а ты почему-то это на ООП распространяешь. Если у меня квадраты от прямоугольников не наследуются, то у меня уже система ОО быть не может? |
|
Сообщ.
#57
,
|
|
|
|
Цитата D_KEY @ Мы тут про применимость и неприменимость наследования говорим, а ты почему-то это на ООП распространяешь Так как бы без динамического субтипирования ООП быть не может ![]() Цитата D_KEY @ Если у меня квадраты от прямоугольников не наследуются, то у меня уже система ОО быть не может? Может. Но не в части "квадрат и прямоугольник". Потому что, во-первых, ты не отразил отношение "является", во-вторых, где субтипирование? Второе может быть в твоей системе, но оно ведь не тут - смотри п. 1. А вообще круто - ты перешёл от "это зависит от" к "почему не ООП?". Какая это стадия? Торг? |
|
Сообщ.
#58
,
|
|
|
|
Цитата MyNameIsIgor @ Угу, теперь обвинения в искусственности Ну для того, чтобы он перестал быть искусственным, нужно более менее описать задачу... Прямоугольники и квадраты могут быть совершенно разными, мы ведь можем делать какой-то набор задач для школьников, программу рисования диаграмм или ПО для машины, вырезающей будущие коробки оптимальным образом из листов картона... |
|
Сообщ.
#59
,
|
|
|
|
Цитата D_KEY @ Ну для того, чтобы он перестал быть искусственным, нужно более менее описать задачу... Прямоугольники и квадраты могут быть совершенно разными, мы ведь можем делать какой-то набор задач для школьников, программу рисования диаграмм или ПО для машины, вырезающей будущие коробки оптимальным образом из листов картона... Да, можем делать разное. Но апологеты ООП говорят об одном его важном свойстве - расширяемости. Принцип подстановки при этом очень важен. Потому, заранее ограничивая твою систему только лишь потому, что твоё человеческое восприятие не совсем согласуется с тем, что диктует метод разработки, ты убиваешь самое важное свойство этого метода. Ну, и нафига он тебе? |
|
Сообщ.
#60
,
|
|
|
|
Цитата MyNameIsIgor @ Цитата D_KEY @ Мы тут про применимость и неприменимость наследования говорим, а ты почему-то это на ООП распространяешь Так как бы без динамического субтипирования ООП быть не может ![]() Я тебе сразу сказал, что нужно определение ООП Цитата Потому что, во-первых, ты не отразил отношение "является", во-вторых, где субтипирование? Так может для моих квадратов и прямоугольников оно и не нужно? Может у меня операции-то не пересекаются никак у них. А может мне удобен еще более общий базовый класс, а эти наследники пусть будут независимыми? Цитата А вообще круто - ты перешёл от "это зависит от" к "почему не ООП?". Какая это стадия? Торг? ![]() Это стадия попытки анализа целостности позиции оппонента. Торг я вообще считаю бессмысленным в холиварах, уступки делал только с целью заманивания, но это не тот случай. И вообще я не торт, можешь считать что у меня просто набор слабосвязанных предложений Добавлено Цитата MyNameIsIgor @ Ну, и нафига он тебе? На мой взгляд он лучше всего позволяет забывать кучу деталей о проектах при уходе вечером с работы. Не говоря уже об отпуске |