Я пытаюсь создать статический метод, который возвращает экземпляр класса, например:
class A {
public static A getInstance() {
return new A();
}
}
Проблема, с которой я столкнулась, заключается в том, что если у меня есть подкласс B, полученный из A, я бы хотел, чтобы B.getInstance() возвращал экземпляр B, а не A. В мире PHP вы могли бы использовать ключевое слово "self" "чтобы ссылаться на ваш собственный тип, так что ваш getInstance() будет выглядеть так:
public static function getInstance() {
return new self();
}
Какой лучший способ сделать это?