Объектно-ориентированное программирование

Объектно-ориентированное программирование (ООП) это способ организации кода с помощью его группировки в наборы объектов, связанных между собой тем или иным способом. По сути, мы объединяем элементы информации с часто используемыми действиями. Но надо помнить, что функции(методы) и данные(переменные) не создаются сами по себе, они образуют общие элементы, которые называются объектами.
Попробуем описать принцип работы ООП используя жизненный пример. Представим что у нас задача обустроить дом, сделать его функциональным и приятным в использовании.
На первом этапе мы конечно сделаем чертеж той обстановки, которая должна быть в доме. Отдельно проработаем мебель, сделаем эскиз шкафа, комода, дивана. Каждый предмет нам придется продумать и описать, чтобы в первую очередь определиться с основными характеристиками (размеры, цвет, форма), а во вторых понять как он будет использоваться.
Программист - это и есть проектировщик, эскизы - это классы, а объекты- это готовые
предметы, которые изготавливаются по этим эскизам. В случае если сосед захочет такой же
шкаф, используя ваш эскиз он его и изготовит, при желании уже со своими особенностями.
Поэтому, класс - это описание еще не созданного объекта, как бы общий
шаблон, состоящих
из переменных, методов и других элементов, а объект - это экземпляр класса, созданный на
основе этого описания.
Для примера возьмём язык программирования Java. Общий вид класса представлен следующим образом:
ClassName
{ //Переменные;
//Свойства;
//Конструкторы;
//Методы }
Для создание объекта необходимо воспользоваться оператором new, который создает экземпляр указанного класса и возвращает ссылку на вновь созданный объект.
ClassName myclass = new ClassName();
ООП является языком программирования структурного типа, и как в любой структуре есть определенные правила (принципы) с помощью которых такая структура существует.
Основные принципы ООП:
1. Абстракция;
2. Инкапсуляция;
3. Наследование;
4. Полиморфизм.
Можно сказать, что ООП работает благодаря трем китам и одной большой черепахе. При том, в нашем случае абстракция и является той большой черепахой на которой все и держится. Ведь именно этот принцип позволяет разбивать программы на объекты и выделять их главные характеристики, опуская второстепенные.