время
|
|
Глава 19. Классы 3
MyClass {
const constant = 'значение константы';
function showConstant() {
echo self::constant . "\n";
}
}
echo MyClass::constant . "\n";
$class = new MyClass();
$class->showConstant();
/* echo $class::constant; - такое использование недопустимо */
?>
Абстрактные классы
PHP 5 поддерживает определение абстрактных классов и методов. Создавать экземпляр класса, который был объявлен абстрактным, нельзя. Класс, в котором объявлен хотя бы один абстрактный метод, должен также быть объявлен абстрактным. Методы, объявленные как абстрактные, несут, по существу, лишь описательный смысл и не могут включать какой-либо функционал.
Пример 19.18. Пример абстрактного класса
<?php
abstract class AbstractClass {
/* Данный метод должен быть определён в дочернем классе */
abstract protected function getValue();
/* Общий метод */
public function print() {
print $this->getValue();
}
}
class ConcreteClass1 extends AbstractClass