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 />";
?>
Есть возможность наследовать все атрибуты и методы. Также можем их переписать, если не хотим их использовать.
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 />";
?>
Комментариев нет:
Отправить комментарий