armancho7777777 пишет:(new B)->getY(); // B::calc
это уже перебор)) Зачем же я от него тогда наследовал класс A
armancho7777777 пишет:Prizma
Если требуется, чтобы вызывался всегда метод A::calc,
то необходимо запретить переопределение метода в дочерних классах, объявив его финальным, как уже предложил Мелкий.
Метод B::calc() не может существовать без A::calc() но метод A::calc() так же используется внутри других методов класса A, и когда я начал обращаться к этим методам из класса B, то стал получать не корректные результаты потому, что там использовалось ключевое слово $this для вызова метода calc() и методы класса A стали использовать B::calc(), заменив $this->calc() на A::calc() в методах класса A, всё заработало, как должно (Отредактировано автором: 18 Мая, 2016 - 13:20:32)
|