пятница, 31 марта 2017 г.

PHP ООП. Понимание наследования класса

extends
Есть возможность наследовать все атрибуты и методы. Также можем их переписать, если не хотим их использовать.
get_parent_class — возвращает имя родительского класса для объекта или класса.

is_subclass_of — проверяет, содержит ли объект в своем дереве предков указанный класс либо прямо реализует его.


<?php
class Car {
var $wheels = 4;
var $doors = 4;

function wheelsdoors() {
return $this->wheels + $this->doors;
}
}

// мы можем переопределить или переписать здесь свойства
class CompactCar extends Car{
var $doors = 2;

function wheelsdoors() {
return $this->wheels + $this->doors + 100;
}
}

$car1 = new Car();
$car2 = new CompactCar();

echo $car1->wheels . "<br />";
echo $car1->doors . "<br />";
echo $car1->wheelsdoors() . "<br />";
echo "<br />";

echo $car2->wheels . "<br />";
echo $car2->doors . "<br />";
echo $car2->wheelsdoors() . "<br />";

// какой класс является родительским
echo "Car perent: " .get_parent_class('Car'). "<br />";
echo "CompactCar perent: " .get_parent_class('CompactCar'). "<br />";
echo "<br />";

// является ли класс подклассом другого класса
echo is_subclass_of('Car', 'Car') ? 'true' : 'false'; // false
echo "<br />";
echo is_subclass_of('CompactCar', 'Car') ? 'true' : 'false'; // true
echo "<br />";
echo is_subclass_of('Car', 'CompactCar') ? 'true' : 'false'; // false
echo "<br />";

?>

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

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

Materialize-css. Футер

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