Финальный метод — это метод, который нельзя перегружать. Это делается на практике не так часто по причине: метод еще не доработан или планирую в будущем его изменить.
Пример:
[php] class Mathematics { final function countSum($a,$b){ //финальный метод print('Сумма: ' . $a + $b); }} class Algebra extends Mathematics { // Возникнет ошибка public function countSum($a,$b){ //финальный метод нельзя перегружать $c = $a + $b; print("Сумма $a и $b: $c"); }} [/php]
По аналогии можем класс тоже объявить финальным:
[php] final class Breakfast { //финальный класс function eatFood($food){ print("Скушали $food!"); }} // Возникнет ошибка class McBreakfast extends Breakfast //класс не может быть унаследован от финальногокласса { // Описание класса } [/php]
Из примера выше мы видим, что от финального класса нельзя создавать класс-наследник.
Т.е. по сути финальные классы и методы я еще недореализовал, и в будущем что-то планирую с ними делать, развивать их, возможно в другую сторону. И чтобы в коде не возникало ошибок, я финализирую класс или метод.
Метки: ООП, финальный класс