Правильно. Повторяюсь, как отыскивается абстракция, которая поддерживает это свойство? Например огонь и электрическая лампочка, свойство общее - свет, значит и абстракция одна, для реализации свойства - свет.
Нет, есть множество неэквивалентных абстракций, обладающих свойством "светимость" (и рядом других свойств, которые определяют - подойдёт ли эта абстракция в данном конкретном случае). Именно поэтому известные принципы ООП в чистом виде здесь довольно бесполезны - там модель иерархии другая. Это может быть или простое наследование - где у каждого класса имеется только один непосредственный суперкласс, или множественное - где хотя и может быть несколько суперклассов, но зато имеется
проблема ромба. Эта проблема связана с тем, что в ООП изначально рассматриваются классы, а не объекты. У объекта значения всех свойств заданы явно, а у класса - нет, максимум задано допустимое множество значений. Поэтому тот простой подход к абстрагированию, что я изложил выше, здесь в полной мере не работает.
-- Ср дек 08, 2010 15:42:06 --Кстати хочу Вас поправить, абстракция не будет иметь два свойства "синее" и "круглое", а будет иметь свойства "цвет" и "форма". В ооп все немного интересней, чем может показаться на первый взгляд.
Ну, свою точку зрения по поводу ООП я высказал - не интересней, а просто запутанней. Как и классы, отношения имееют иерархию, поэтому "цвет" является более абстрактным понятием, чем "синий", но допустимы и те, и другие абстракции. Как я уже сказал, всё можно формально свести к отношениям, отсюда становится очевидно, что правила абстрагирования везде одни и те же, что для объектов, что для отношений. Если не верите - попробуйте дать определение объекту