Объектно Ориентированный PHP (ООП)
15.06.2017 07:41:11 am
Рано или поздно программист начинает задумываться о ООП, чтобы самостоятельно разбираться в нем. На то у него свои причины, быть может потому что все популярные движки написаны на ООП, или только тот, с которым ему предстоит работать, возможно просто расширить свои знания в области программировании или что то еще. В ООП не больше возможностей, чем в процедурном, в смысле все что можно сделать на ООП, то можно и в процедурном, однако в ООП есть свои преимущества. Большая часть программистов отдает свое предпочтение именно ООП.
Чтобы начать писать на ООП, надо "познакомиться" с такими "вещами", как класс, объект и метод. Сейчас попытаюсь объяснить, что это значит:
Как создать класс
Пример, как создать класс. Назовем наш класс common:
Как создавать объект
После того, как у нас будет готовый класс, мы можем приступать к работе с этим классом, для этого нам нужно создать объект, делается это при помощи оператора new, вот так:
Теперь переменная
Двигаемся дальше. Давайте создадим класс common, с функцией addition, которая будет складывать два числа, затем создадим объект и при помощи этого объекта обратимся к методу. И так, сам класс с методом addition (с областью видимостью public (об этом чуть позже)):
Создаем объект и обращаемся к методу:
Теперь переменная
Теперь поговорим о области видимости свойств и методов класса, которая устанавливается при помощи ключевых слов public, protected и private. Данные слова отвечают за то от куда можно будет обратиться к свойству или методу. И так:
Двигаемся дальше. Внутри классов обращаться к свойству класса, надо начиная с оператора: $this, знак доллара у свойства не ставиться. Пример:
Обращаться к методу класса, так же надо с оператором $this:
Один класс может наследовать другой класс, то есть вызывая один класс, мы можем работать с двумя делается это при помощи ключевого слова extends, после названия класса, пишем название наследуемого класса, вот так:
Чтобы стало более понятно, что такое наследование, приведу ещё пример с двумя классами:
Из кода видно, что вызван класс с именем second, а значение переменной выводим из класса с именем first, так как мы наследовали класс.
Чтобы начать писать на ООП, надо "познакомиться" с такими "вещами", как класс, объект и метод. Сейчас попытаюсь объяснить, что это значит:
- Класс - Определяет функции и типы данных, что находятся в объектах классах.
- Объект - Своего рода переменная, которая содержит в себе данные и функции. Такая переменная создается через класс.
- Методы - Функция, созданная в классе и используемые для объектов этого класса.
Как создать класс
Пример, как создать класс. Назовем наш класс common:
class common
{
# Содержимое класса
}
Как создавать объект
После того, как у нас будет готовый класс, мы можем приступать к работе с этим классом, для этого нам нужно создать объект, делается это при помощи оператора new, вот так:
$common = new common();
Теперь переменная
$common
и есть объект.Двигаемся дальше. Давайте создадим класс common, с функцией addition, которая будет складывать два числа, затем создадим объект и при помощи этого объекта обратимся к методу. И так, сам класс с методом addition (с областью видимостью public (об этом чуть позже)):
class common
{
public function addition($a, $b)
{
return $a + $b;
}
}
Создаем объект и обращаемся к методу:
$common = new common(); # Создаем объект
$result = $common->addition(7, 2); # Обращаемся к методу addition
Теперь переменная
$result
содержит результат сложения двух чисел, в данном примере - 9.Теперь поговорим о области видимости свойств и методов класса, которая устанавливается при помощи ключевых слов public, protected и private. Данные слова отвечают за то от куда можно будет обратиться к свойству или методу. И так:
- public - Доступно ото всюду. Обратиться можно внутри и за пределами класса.
- protected - Доступно внутри класса и в дочерних классах.
- private - Доступно только внутри класса.
Двигаемся дальше. Внутри классов обращаться к свойству класса, надо начиная с оператора: $this, знак доллара у свойства не ставиться. Пример:
$this->variable;
Обращаться к методу класса, так же надо с оператором $this:
$this->addition(7, 2);
Один класс может наследовать другой класс, то есть вызывая один класс, мы можем работать с двумя делается это при помощи ключевого слова extends, после названия класса, пишем название наследуемого класса, вот так:
class second extends first
Чтобы стало более понятно, что такое наследование, приведу ещё пример с двумя классами:
class first
{
public $value = 'DANFA';
public function test()
{
echo $this->value;
}
}
class second extends first
{
# Содержимое класса
}
$class = new second();
$class->test();
Из кода видно, что вызван класс с именем second, а значение переменной выводим из класса с именем first, так как мы наследовали класс.
- Жалоба