для вызова статического метода класса в методе дочернего используеться self
в самом коде необязательно создавать экземпляр(объект) данного класса достаточно
написать ИмяКласса::СтатическийМетод!
Пример:
(на PHP давно не писал исправляйте если что)
PHP:
скопировать код в буфер обмена
// Родительский класс class ParentClass { public function __constuct() { // Конструктор родительского Класса } static public function ConstMethod() { // Статический метод! Для // его использования необезательно // создовать Обьект этого Класса // в коде ParentClass::ConstMethod(); } public function PublicMethod() { // Публичный Метод класса // Доступен в коде } protected function ProtectedMethod() { // Защищённый Метод класса // Доступен только из // Наследуемых классов! } private function PrivateMethod() { // Приватный Метод класса // Доступ к методу // только из Класса в // в котором он определён // тоесть только из ParentClass! } } // Дочерний класс class ChildClass extends ParentClass { public function __constuct() { // Конструктор родительского Класса // Переопределение Родительского! // Родительский вызываться небудет // Чтобы его вызвать можно использовать // parent::__constuct(); // В коде программы: // $obj = new ChildClass(); } static public function ConstMethod() { // Переопределение родительского! // Чтобы вызвать статичиский метод // Класса родителя: // self::ConstMethod(); // Статический метод! Для // его использования необезательно // создовать Обьект этого Класса // в коде ChildClass::ConstMethod(); } public function PublicMethod() { // Публичный Метод класса // Переопределение! Родительский // метод вызываться небудет! // Чтобы его вызвать: // parent::PublicMethod(); } protected function ProtectedMethod() { // Метод дочернего класса // Переопределение Родительского! // Родительский вызываться небудет! // Чтобы его вызвать можно использовать // parent::Method(); // В коде программы его вызвать нельзя! // $obj = new ChildClass(); // $obj->ProtectedMethod(); !Ошибка! // Но можно вызвать из Дочернего! } private function PrivateMethod() { // Приватный Метод класса // Доступ к методу // только из Класса в // в котором он определён // тоесть только из ChildClass! // Родительский метод PrivateMethod // вызвать нельзя! } }
(Отредактировано автором: 27 Марта, 2012 - 09:16:27)
|