суббота, 1 апреля 2017 г.

PHP ООП. Ссылка на родительский класс

parent::modified_a();
Когда работаем со статическими методами, то используем parent::
Единственное когда это нужно использовать с методами экземпляра, когда мы пытаемся получить доступ к родительскому методу.


<?php

class A {
static $a = 1;

static function modified_a() {
return self::$a + 10;
}

public function hello() {
echo "Hello <br />";
}

}

class B extends A {
static function attr_test() {
echo parent::$a;
}

static function method_test() {
echo parent::modified_a();
}

public function instance_test() {
// echo $this->hello();
echo parent::hello(); // можно написать и так
}

// Перепишем hello в классе B
public function hello() {
echo "*****";
parent::hello();
echo "*****";
}
}


echo B::$a . "<br />"; // 1
echo B::modified_a() . "<br />"; //11

echo B::attr_test()  . "<br />"; // 1
echo B::method_test()  . "<br />"; // 11

$object = new B();
$object->instance_test(); // Hello
$object->hello();
/*
Выводит:
*****Hello
*****
*/


?>

Комментариев нет:

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

Materialize-css. Футер

Сделаем футер и прижмем к низу страницы. Документация: https://materializecss.com/footer.html