Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, Oleg A. Bachin, Вы писали:
OAB>>ответ пойдет, только вопрос не в тему. ведь если квадрат наследуется от прямоугольника, он вполне логично расширяет функционал!
S>Нет. Квадрат, будучи отнаследованным от прямоугольника, исказит его контракт.
S>Например, удвоение ширины учетверит площадь вместо удвоения.
OAB>>например TStream->TFileStream. вы ведь не настаиваете на функционале "запись в файл" у базового класса?
S>Нет. TStream не дает никаких обещаний, которые нарушит TFileStream. А вот TMemoryStream ты никак от TFileStream не отнаследуешь, как, впрочем, и наоборот.
OAB>>логичный вопрос должен был звучать в обратную сторону — "какая ф-ция прямоугольника, для класса квадрат изменяет поведение базового класса прямоугольник".
S>Логичный вопрос, в общем-то, такой: "Почему новички отказываются читать литературу"? Все по поводу кругов/эллипсов и квадратов/прямоугольников было обсосано до мельчайших косточек. Ничего нового в этой области изобрести не удастся.
э... я вообщет и не спорю — я все прекрасно понимаю... только одно не понятно.
не желающий прочитать литературу и понять базовые принципы ООП, еще может унаследовать квадрат от прямоугольника, но обратное наследование я вообще не представляю кто может сделать! я лишь на этом акцентировал внимание

... << RSDN@Home 1.1.4 beta 6a rev. 436>>