|
|||||||
Время создания: 04.04.2013 19:27
Текстовые метки: php, наследование, класс, class, final, public, private, protected
Раздел: Компьютер - Программирование - Язык PHP
Запись: xintrea/mytetra_syncro/master/base/13650892517w2h5ctf7m/text.html на raw.github.com
|
|||||||
|
|||||||
Видимость свойств и методов может быть определена ключевыми словами: public, protected, private.
Это самые главные положения, которые должен знать об области видимости программист на ООП языке. Этими модификаторами управляется сам костяк большого приложения. Общая рекомендация такая - использовать как можно жесткие ограничивающие модификаторы, и переходить на более мягкие только в случае необходимости. Так же в PHP5 присутсвует ключевое слово final. Оно запрещает перегружать данный метод в классах-наследниках. Пример: class Member {
public $username = ""; private $loggedIn = false;
public final function login() { $this->loggedIn = true; }
public function logout() { $this->loggedIn = false; }
public function isLoggedIn() { return $this->loggedIn; } } Если кто-то попытается наследовать класс и перегрузить данный метод: class NaughtyMember extends Member {
public function login() { $this->loggedIn = true; // сделать что-то плохое } } … PHP выведет сообщение об ошибке: Fatal error: Cannot override final method Member::login() Вы можете также запретить наследование от всего класса с помощью ключевого слова final: final class Member { // от этого класса нельзя вообще наследовать } Любая попытка создать дочерний класс данного класса, не увенчается успехом: Fatal error: Class NaughtyMember may not inherit from final class (Member) Поддержка этих ключевых слов появилась именно в PHP5, в PHP версии 4 возможности помечать методы и классы как неизменяемые не было.
|
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|