#7. 1 php Классы и объекты

В этой главе рассматриваются основы объектно-ориентированного программирования (ООП). Использование РНР вполне возможно и без объектно-ориентированного программирования. Но при создании больших сложных проектов, а также при работе в команде использование ООП является весьма серьезным преимуществом.

ООП было предназначено для упрощения построения объемных приложений. Как показано в гл.4, функции используются для разбиения кода на отдельные независимые фрагменты. ООП делает еще один шаг в этом направлении, позволяя объединять данные и обрабатывающий их код в объекты.

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

Классы и объекты

Для того, чтобы начать работать с объектами, требуется сперва описать некоторый класс. Класс представляет собой тип объекта точно так же, как integer или string являются типом переменной.

Пусть требуется создать класс Animal, который будет содержать данные о животных. В классе будут описаны две функции (называемые методами класса): setname и getname. Также в классе описывается одна переменная (называемая свойством класса). Описание класса Animal приведено ниже; далее в главе оно будет объяснено подробнее.

class Animal
{
    private $name;

    public function set_name($text)
    {
        $this->name = $text;
    }

    public function get_name()
    {
        return $this->name;
    }
}

Для создания объектов используется оператор new. Созданный объект может быть сохранен в переменной точно так же, как и обычное значение или массив. После создания объекта доступ к его свойствам и методам осуществляется при помощи оператора —>. Создание и использование объекта выглядит следующим образом:

$lion = new Animal;
$lion->set_name("Бонифаций");
echo "Имя созданного льва: ", $lion->get_name(), ".";

При выполнении этих фрагментов кода будет отображена следующая строка:
Имя созданного льва: Бонифаций

Key Words for FKN + antitotal forum (CS VSU):