В реальной жизни всё окружающее нас является объектами (живыми или не живыми) и мы с ними различными способами взаимодействуем. Основатели стиля программирования ООП также подумали, что программирование станет проще, если программисты начнут обращаться с различными конструкциями, как с объектами из реальной жизни. Из этого следует следующее: Объектно-ориентированное программирование (ООП) — парадигма программирования, в которой основными концепциями являются понятия объектов и классов.
Почему основной концепцией является понятие объекта ясно, теперь же нужно определиться с тем, что же такое класс. Для начала нужно сказать, что каждый объект имеет свою структуру (свои составляющие), которые в большинстве случаев отображаются с помощью различных чертежей.
Так вот класс – это конструкция позволяющая описать структуру виртуального объекта. В своём роде она напоминает чертёж из реальной жизни. Они оба позволяют описать объект, но при этом не являются им самим, а используются для его создания.
Также нужно сказать, понятию объекта можно дать и другое определение:
Объект – это некоторая сущность, обладающая определённым состоянием и поведением, имеет заданные значения свойств (полей) и операций над ними (методов). – свойства и поля рассматриваются дальше
Примечание: ООП позволяет программистам обращаться с различными конструкции подобно взаимодействию с объектами в реальной жизни, но для ЭВМ все объекты будут представлены в двоичном коде и не будут каким либо образом выделяться.
ООП состоит из нескольких других парадигм (все они будут постепенно рассматриваться в дальнейшем):
- инкапсуляция;
- наследование;
- полиморфизм;
- абстракция;
- посылка сообщений;
- повторное использование.