Оглавление

Наследование классов

Классы могут наследовать методы и свойства другого класса с помощью ключевого слова extends. Чтобы создать класс, который расширяет класс MyClass и вводит новый метод, внесите в тестовый файл следующие изменения.

 

<?php 
 
class MyClass 
{ 
    public $prop1 = "Это свойство класса!"; 
 
    public function __construct() 
    { 
        echo 'Класс "', __CLASS__, '" инициирован!<br />'; 
    } 
public function __destruct() 
    { 
        echo 'Класс "', __CLASS__, '" уничтожен.<br />'; 
    } 
 
    public function __toString() 
    { 
        echo "Используем метод toString: "; 
        return $this->getProperty(); 
    } 
 
    public function setProperty($newval) 
    { 
        $this->prop1 = $newval; 
    } 
 
    public function getProperty() 
    { 
        return $this->prop1 . "<br />"; 
    } 
} 
 
class MyOtherClass extends MyClass                            
{                                                             
    public function newMethod()                               
    {                                                         
        echo "Новый метод в классе " . __CLASS__ . ".<br />"; 
		                                              
    }                                                         
}                                                             
                                                              
// Создать новый объект                                       
$newobj = new MyOtherClass;                                   
                                                              
// Вывести объект в виде строки                               
echo $newobj->newMethod();                                    
                                                              
// Использовать метод родительского класса                    
echo $newobj->getProperty();                                  
 
?> 


Перезагрузив тестовый сценарий в браузере, вы получите следующий результат.

 

Класс "MyClass" инициирован!
Новый метод в классе MyOtherClass.
Это свойство класса!
Класс "MyClass" уничтожен.
Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.
Отправитель Нити