Как понять часть текста из книги про HAS-A и IS-A?
Например пишут:
Если вы хотите узнать расширяет ли одна сущность другую, проведите проверку на соответствие IS-A.
Треугольник - это фигура.
Кошка - представитель семейства кошачьих.
Это все будет верным, пока вы не проведете проверку на соответствие.
Тут не понял.
И дальше пишут:
Эти понятия связаны между собой, но через наследование. Такая связь выражается отношением HAS-A. Разве не логично сказать, что ванная комната содержит ванну? Иными словами класс bathroom содержит ссылку на класс Tub но не расширяет его.
Как я понял, IS-A это когда родительский класс расширяется через extends дочерним.
А HAS-A это когда внутри класса Bathroom создается ссылка на объект Tub через new Tab().
Я прав? Но в книге чуть ниже, пишут:
Ванная комната (bathroom) содержит ванну(Tub). Но не один из них не наследует(расширяет) другой.
Tub extends Bathroom, sounds
reasonable. Until you apply IS-A test.
Это особенности игры слов которую не перевели на русский язык: Ванна является расширением/дополнением ванной комнаты, звучит логично. (тут имеется ввиду чисто бытовое восприятие).
Делайте скидку на то, что эта книга написана для "чайников".
Так что, Вы все правильно поняли.