В C # обычно используются такие методы:
public IPerson GetPerson()
{
// do stuff
return new Person(..);
}
, где "IPerson
" - это интерфейс, используемый Person
, SpecialPerson
и т. Д. Другими словами, хотя приведенный выше метод возвращает Person
, шаблон стратегии может быть реализован таким образом, чтобы SpecialPerson
возвращается вместо Person
, при условии, что все они используют интерфейс IPerson
.
Возможны ли подобные вещи в Java?