Честно говоря, системное программирование настолько муторное понятие, что я бы и спорить не стал. И прикладное - тоже. Вы ж не пользуетесь только компилятором и ос, чтобы разрабатывать и запускать свои прикладные программы? вам нужна среда программирования, вроде Eclipse, или JavaBeans. подавай отладчики, профайлеры, UML плагины или среды, да еще с реверсинженерией? это тоже прикладные программы?
короче понятие системного софта - растяжимое и вся эта кухня имеет весьма масштабный код и требует соотв. технологий разработки. Или вы скажете, что система аля интернет магазин или безбумажная бухгалтерия покруче будет какого-нить JavaBeans? и потому инет магазин нужно делать на диаграммах...а то что я выше перечислил - прям на коленке? гм.
Классический? Но тут не сопоставимые понятия. Цвет - это конечно может быть класс, но все-таки скорее простой тип, не обладающий функциональностью и свойствами, вернее имеющее одно единственное свойство - самое себя, ну или если хотите длину волны.
Шар же имеет форму, структуру, фактуру, вес, размер, материал. Скажите существует не цветной шар? т.е. бесцветный? и какого цвета цветной шар ночью?
шар у нас не биллиардный(иначе был бы биллардный шар), а типа математический. имеет радиус. всего-то. одно простое такое число.
так же как и цвет.
цвет кстати сложное понятие и имеет операции - вроде - сложение цветов, вычитание цветов. натуральный класс.
и не стоит различать тип и класс. все что имеет ассоциированные с неким понятием операции или данные - можно оформить как класс. класс=тип, на самом деле.
Кроме того, если Вы говорите цветной шар, то ровной я могу сказать шаровой цвет. И кажется такое понятие есть! например кубовый краситель - как на этот счет.
я пока говорить шаровой цвет не научился. и кубовый краситель тоже. ничего путного ответить тут не могу.
А если взять такое понятие как частица. Известно что она дуальна: она есть материальный объект и волна.
Или возьмем растение Росинка - это и растение - но и животное, там есть и то и другое.
частица и волна - это просто две разных "проекции" на одну сущность. это слишком очевидно. потому в java это будет записано интерфейсами.
Все ваши примеры просто примеры неточных классификаций. Неточно классифицируя, вы получаете казусы и пытаетесь заткнуть это "кентавром".
Аналогичная ситуация с ER и реляционной БД. Нет в ней связей многие ко многим, потому такая связь называется неспецифичной и требует разруливания через таблицу связи.
я ж вроде обьяснил, что связь "многие ко многим" получается не на графе наследования, а просто в виде связи на экземплярах. классы тут вообще не причем. имея экхемпляры только одного класса, их можно выстроить в произвольный граф. но это же не наследование!!! а связь самих данных! класс вообще один. называется - узел графа.
или я не понял чего?