ООП — объектно-ориентированное программирование, программирование с помощью классов и объектов.
Это методология программирования, основанная на представлении программного продукта в виде совокупности объектов, каждый из которых является экземпляром конкретного класса.
—А можно проще? —Можно!
Простой пример №1:
Есть класс Коты(ClassCats), есть объект Барсик (barsik).
Барсик представитель класса Коты. Он, как и все коты, умеет мяукать, у него есть хвост и его любят за просто так. У него есть атрибуты, такие как: цвет, вес, возраст и имя.
Есть ещё объект Мурзик, он также является Котом. Т. е. он умеет всё то же, что и Барсик. Обладает Мурзик теми же атрибутами, но их значения отличаются.
Мурзик рыжий толстый и старенький кот, а Барсик пшеничный маленький котёнок.
Они оба являются объектами одного класса.
Простой пример №2:
На заводе делают роботов, налажено массовое производство. Есть чертёж, по которому собирают каждого нового робота, этот чертёж и есть класс Робот. Каждый новый робот — экземпляр, выполненный по чертежу, т. е. объект класса Робот.
Робот №1, Робот №2 и Робот №3 ничем друг от друга не отличаются, но являются разными объектами одного класса. Ведь были созданы по одному чертежу, но в разное время, находятся в разных местах и являются разными сущностями.
Пример из программирования:
Разработано банковское серверное-приложение, в нём существует класс Человек (Person), в этом классе находятся два подкласса: Клиент(Client) и Сотрудник(Employee).
Объекты класса Client — клиенты банка, данные которых записываются в банковскую программу.
Объекты класса Employee — сотрудники банка, данные и полномочья которых также записаны в программу.
У объектов этих двух подклассов есть общие атрибуты идущие от класса Person, родительского для Client и Employee.
У объекта класса Client есть свои атрибуты, которых нет у объектов класса Employee, такие как: ФИО клиента, возраст и пол клиента, кредитная история клиента и т.д.
У объекта класса Employee также есть атрибуты, которых нет у объектов класса Client: ФИО сотрудника, должность, полномочья и т.д.
Таким образом это объекты/представители/экземпляры разных классов. В свою очередь существует множество объектов класса Client, ведь у банка много клиентов, и множество объектов класса Employee, ведь в банке далеко не один сотрудник.
Итог:
ООП — программирование, которое основывается на классах и объектах.
Класс — шаблон/чертёж для создания объекта.
Объект — конкретный экземпляр класса.
Такой тип программирования позволяет представить части программы как реальные объекты.
О том какие у ООП есть плюсы и минусы, а также о принципах ООП мы поговорим в следующей статье.