Выбор значения по умолчанию для дочерних классов
Доброй ночи. Имеется структура классов, которая представлена ниже. То есть, родительный класс, и множество дочерних (People как пример). В родительском классе имеются константы, скажем это виды языков. Я хочу сделать так, чтобы человек, перед использованием скажем, класса, People, прописал язык какую-нибудь настройку (по умолчанию), чтобы язык, скажем был EN. И во всех дочерних классах использовалось -EN.
abstract class Guide
{
const RU = 1;
const EN = 2;
public abstract function members(): array;
}
class People extends Guide
{
public function members(): ?array
{
return null;
}
}
Такое вообще возможно, или я иду не в том направлении? Может есть какие-нибудь другие варианты для реализации всего этого дела? Буду рад за любую помощь. Спасибо :)
Ответы (1 шт):
В абстрактном классе делается абстрактный метод getLang который должен возвращать язык.
В потомке People перекрывается этот метод - возвращает, например, EN
Все потомки People будут возвращать при обращении к этому методу тоже EN, но, если понадобится, могут и перекрыть этот метод и возвращать RU