Введение в ООП
В ООП (объектно-ориентированном программировании) функции и данные, которыми манипулируют функции, связаны в объекты.
Атрибуты (attributes) или свойства (properties) – данные.
Методы (methods) – функции для обработки вышеупомянутых данных.
Объект определяется классом, экземпляром которого он является. Класс определяет методы и атрибуты объекта. Путем создания экземпляра класса создается новый объект, инициализируются все его методы и атрибуты, а также вызывается конструктор (constructor).
Конструктор (constructor) – функция, которая выполняет какие-либо начальные действия. В PHP 5 конструктор должен называться – __construct ().
Далее приведен пример простого класса TestClass, создание и инициализация его объекта и вызов одного метода.
<?php
class TestClass {
public $name;
public $age;
function __construct ($name, $age) {
$this->name = $name;
$this->age = $age;
}
function print_message () {
$msg_text = "Привет, ".$this->name."!<br />";
$msg_text .= "Вам: ".$this->age" лет.";
return
}
}
$new_class = TestClass ('Вася Пупкин', 29);
echo $new_class->print_message ();
?>
Результат выполнения кода приведенного выше:
Привет, Вася Пупкин!
Вам: 29 лет.
В данном примере конструктор инициализирует 2 атрибута: имя и возраст. Метод возвращает текст сообщения.
$this – это псевдопеременная, которая автоматически создается во всех методах класса и представляет объект (в данном случае класса TestClass). Для доступа к свойствам или методам класса используют оператор ->.
Ниже приведены свойства, которыми обладают объкты:
Наследование (inheritance) – способность порождать из существующих классов новые, наследовать или переопределять их свойства и методы.
Инкапсуляция (encapsulation) – способность скрывать данные от пользователей класса.
Полиморфизм (polymorphism) - когда несколько классов реализуют одни и те же внешние методы. И есть возможность их попеременного использования в функциях.
Специальные методы (special methods) – это свойство указывает на то, что классы имеют событийные обратные вызовы, которые выполняются при возникновении распространенных событий. Например: при создании, копировании, уничтожении и т.д.
Подробное описание вышеперечисленных свойств будет приведено в следующих статьях.
C нетерпением ждём продолжения!!! Такая же структура и .NET языках так сказать, типа C#…
Скорее концепция чем структура… да и не только в .НЕТ языках)
В данной статье реализация простейшей объектно-ориентированной модели рассмотрена на PHP в качестве примера.
В коде есть ошибки.
1)
$msg_text .= “Вам: “.$this->age” лет.”;
Пропущена точка после age
$msg_text .= “Вам: “.$this->age.” лет.”;
—
2)после return не указано что return
return $msg_text;
—
3) в строке
$new_class = TestClass (‘Вася Пупкин’, 29);
пропущено new перед TestClass
$new_class = new TestClass (‘Вася Пупкин’, 29);
———————
Но все равно спасибо, статья немного помогла мне разобраться с основами ООП