Многие начинающие и не совсем программисты ищут ответ на вопрос, что такое объектно-ориентированное программирование. И конечно же, на просторах интернета, они получают ответ. Ответ, содержащий в себе кучу терминов и непонятных фраз, от которых непонятное становится еще более непонятным. В этой статье я постараюсь изложить вам все человеческим языком. Мы затронем такие вопросы: что такое ООП, достоинства ООП, недостатки ООП и разберем несложный пример.
Что такое объектно-ориентированное программирование?
ООП - это методология программирования, в основе которой лежит принцип описание сущностей практикуемой системы и методов взаимодействия между ними. Для описания сущностей используется понятие классы. Класс представляет собой шаблон с описанием свойств (переменных) и методов (функций), которыми может обладать некая сущность в системе. Таким образом, суть ООП состоит в том, что бы выделить в проекте (программе) сущности (объекты) и методы (функции) взаимодействия между ними. Для описания сущностей (объектов) используется понятие класса. Класс - это шаблон с описанием свойств (переменных) и методов (функций), которыми может обладать некоторая сущность (объект) в системе (программе).
Достоинства объектно-ориентированного программирования
- Классы позволяют проводить конструирование из полезных компонент, обладающих простыми инструментами, что дает возможность абстрагироваться от деталей реализации. - Локализация кода и данных улучшает наглядность и удобство его сопровождения. - Хорошо спроектированный код дает возможность повторно использовать его во многих приложениях. - Использование ООП позволяет писать масштабируемые системы.
Недостатки объектно-ориентированного проектирования
- Скорость работы программ, использующих ООП несколько ниже чем те, которые используют процедурный подход. - Поскольку детали реализации классов неизвестны, то программисту, если он хочет разобраться в том или ином классе, нужно опираться на документацию и на используемые имена. - Проектирование классов - задача куда более сложная, чем их использование. Проектирование класса, как и проектирование языка, требует большого опыта. Это итеративный процесс, где приходиться учиться на своих ошибках. Разберем пример. Чтобы создать класс в PHP, пишется ключевое слово "class", затем имя класса. Создадим класс Персона (Person).
class Person{
}
Мы создали простейший класс. Добавим свойства, которыми может обладать персона.
class Person{
public $name; // Имя
public $age; // Возраст
public $job; // Работы
}
Далее, создадим метод Приветствие нашего объекта (greeting). Для того, что бы создать метод, пишем:
class Person{
public $name; // Имя
public $age; // Возраст
public $job; // Работы
public function greeting() { // метод
// тело метода
return "Hello, ".$this->name;
}
}
Мы описали объекты нашего класса. Далее, что бы создать объект, мы пишем
$petr = new Person();
У нас получился объект класса Person под именем $petr. В его свйствах сейчас ничего нет, так как они пусты. Заполним их
$petr->name = "Петр";
$petr->age = 25;
$petr->job = "Дизайнер";
Для того, что бы отобразилось наше приветствие, нам нужно вызвать метод greeting. Что бы это сделать, пишем
echo $petr->greeting(); // перед вызовом метода пишем "echo", так как метод возвращает строку, а не выводит ее на экран.
После того, как вы запустите ваш файл в браузере, он вам выдаст на экране
"Hello, Петр"
Полный код
class Person{
public $name;
public $age;
public $job;
public function greeting() {
return "Hello, ".$this->name;
}
}
$petr = new Person();
$petr->name = "Петр";
$petr->age = 25;
$petr->job = "Дизайнер";
echo $petr->greeting();