Лекции     Книги     Рефераты    

PHP5 против PHP4 или Как использовать абстрактные классы и методы

news date Авг.09.2009    categories Web-программирование > PHP    comments (0)

Как известно в PHP5 произошли некоторые нововведения в объектной модели. Одно из этих нововведений является появление абстрактных (abstract class) классов.
Создаются они так же как и обычные классы (class) за исключением одного модификатора abstract.

abstract class AbstractClassName
{
}

И по своей сути отличаются только тем, что от обычного класса (class) можно создать объект, а от абстрактного(abstract class) нет. Например, следующий пример вызовет ошибку:

abstract class AbstractClassName
{
}
$Object_name = new AbstractClassName;

Ошибка происходит из-за того, что абстрактный класс (abstract class) может использоваться только как базовый. То есть он нужен для описания или реализации как бы скелета, для класса потомка. Правильный подход будет таковым:

abstract class AbstractClassName
{
function Helo()
{
echo "Helo AbstractClassName";
}
}
class ClassName extends AbstractClassName
{
}
$Object_name = new ClassName;
$Object_name -> Helo();

Так же абстрактный класс (abstract class) может содержать абстрактные методы:

abstract class AbstractClassName
{
abstract function Helo();
}

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

abstract class AbstractClassName
{
abstract function Helo($text);
}
class ClassName extends AbstractClassName
{
function Helo($text)
{
echo $text;
}
}
$Object_name = new ClassName;
$Object_name -> Helo("Helo AbstractClassName");

Надеюсь, вам всё стало понятно, и вы сами теперь можете применять эту новую возможность объектной модели PHP5.

Желаю вам успехов, и абстрактного мышления!

Обсуждения

Нет комментариев к “PHP5 против PHP4 или Как использовать абстрактные классы и методы”

Добавить комментарий



Ваш комментарий:

 



© 2009 - 2010 | Webteach.ru | Образовательный портал