PHP ООП. Наследование

Просмотров: 15042Комментарии: 0
ПрограммированиеPHP

Привет дорогой читатель. Сегодня мы с тобой завершаем изучение основ ООП. И у нас заключительный урок. Сегодня речь пойдет о наследовании. Для освежения памяти советую обратиться к одному из прошедших уроков. "PHP ООП. Основы" там была картинка, которая как раз и описывает смысл наследования. Там во главе стоит транспорт, который в свою очередь подразделяется на более мелкие понятия.

Давайте попробуем это все рассмотреть поближе. Как обычно за стартовыми данными мы обратимся к предыдущему уроку.

calss Hello
  {
    public $name;
    public function __construct()
    {
     $this->name = "Володя";
    }
    public function hello_name ($fn)
    {
     $this->name = $fn;
     echo "Ну здравствуй ".$this->name;
    }
  }

Также там напишем для нас новый класс:

calss Hello2 extends Hello
  {
    public $name;
    public function __construct()
    {
     $this->name = "Мария";
    }
    public function hello_name ($fn)
    {
     parrent::hello_name()
     $this->name = $fn;
     echo "Еще раз здравствуй ".$this->name;
    }
    public function hello_name2 ($fn)
    {
     $this->name = $fn;
     echo "Приветсвую Вас, ".$this->name;
    }
  }

Давайте обратим внимание на строку "calss Hello2 extends Hello" - это обозначает новый класс Hello2, который расширяет класс Hello. Значит из объекта Hello2 мы сможем обратиться к методам класса Hello. На основании предыдущих уроков приведем к следующему виду Наш код:

<?php
calss Hello
  {
    public $name;
    public function __construct()
    {
     $this->name = "Володя";
    }
    public function hello_name ($fn)
    {
     $this->name = $fn;
     echo "Ну здравствуй ".$this->name;
    }
  }
calss Hello2 extends Hello
  {
    public $name;
    public function __construct()
    {
     parrent::__construct();
    }
    public function hello_name ($fn)
    {
     parrent::hello_name($fn)
     $this->name = $fn;
     echo "Еще раз здравствуй ".$this->name;
    }
    public function hello_name2 ($fn)
    {
     $this->name = $fn;
     echo "Приветсвую Вас, ".$this->name;
    }
  }
$q = new Hello2();
echo $q->name;
?>

Выполнением кода будет Володя, так как наш новый класс Hello2 наследует конструктор из родителя Hello.

Аналогично попробуйте и выведите остальные функции. Понаблюдайте и сделайте выводы. Все вопросы и предложения жду от Вас в комментариях.

С уважением Ваш ИТ Инженер.



Только профессионалы 1C и только здесь, помогут вам в установке и сопровождении многопрограммного продукта.

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question

Используйте нормальные имена. Ваш комментарий будет опубликован после проверки.

Вы можете войти под своим логином или зарегистрироваться на сайте.

(обязательно)