Создание копии класса только для чтения, инструкции - PullRequest
5 голосов
/ 22 сентября 2011

Учитывая следующее представление UML, как я могу получить экземпляр BullDog, в котором доступны только методы получения?

  • Экземпляр BullDog не должен иметь ни одного из доступных методов установки.
  • В экземпляре BullDog должны быть доступны только методы получения (3 из них)

В основном вопрос заключается в том ... что я могу разыграть new BullDog?

enter image description here

Ответы [ 2 ]

4 голосов
/ 22 сентября 2011

Поскольку HealthyPet и Pet не связаны, вы ничего не сможете применить к ним, что даст вам все 3 метода получения (getMetabolism (), getName () и getAge ()). Теперь, если HealthyPet продлил Pet (а я действительно не уверен, почему это не так), вы бы занялись бизнесом. Потому что тогда вы можете привести к HealthyPet, вернуть этот интерфейс, и вызывающая сторона увидит только 3 метода получения (конечно, я говорю без причудливого самоанализа, который должен позволить им обнаружить все).

1 голос
/ 22 сентября 2011

Вам нужен HealthyPet для продления питомца.Затем вы переводите свой экземпляр BullDog в HealthyPet.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...