PHP

Объекты и классы в ООП? Для чего?

Всем привет. Для чего нужны объекты и классы в ООП? Объясните, пожалуйста по простому...
У тебя есть некий класс, допустим "Автомобиль" и у него есть поля, допустим "Цвет", "Марка" и "Вид кузова". Если изменять свойства (поля) без объекта то придется обратится к 3 переменным, вроде ничего такого, почему бы и нет? Но представь что у тебя 100 автомобилей, то есть тебе придется делать по 100 переменных на каждое поле, а если ты используешь ООП, то тебе нужно сделать 3 переменные и столько объектов столько нужно. Тут очевидно удобство применения ООП
БА
Бабин Андрей
242
Лучший ответ
"Разделяй и властвуй." Класс - тип объектов, то есть программных единиц, содержащих данные и связанные с ними функции. ООП позволяет осуществлять инкапсуляцию программных объектов (то есть независимость данных и функций объекта одного класса от одноименных данных и функций другого класса), наследование (расширение и частичное изменение свойств в потомках типов объектов, то есть классов-наследников), и полиморфизм (способность предков использовать внесенные потомками изменения).
Таблицу видели?
Таблицы нужны зачем?
Чтобы располагать данные упорядоченно, чтобы удобно было находить нужное.
Классы и структуры данных - это подобия таблиц, но они наглядны не нам, а программе, которая с ним работает.
Объявление класса или структуры -это аналог шапки таблицы, заголовков столбцов. А каждый экземпляр класса или стру ктуры - аналог строки таблицы с конкретными данными.
Поэтому главное действующее лицо программы - это не описание класса, а контейнер (например, массив) с экземплярами класса, которых несколько. Контейнер работает в цикле как конвейер, экземпляры - как собираемые на конвейере машины, а вызываемые методы и просто функции - как рабочие, собирающие машины на конвейере.
Есть класс Заказ и есть его экземпляры - описания конкретных заказов, и по ним можно просуммировать их стоимость и посчитать выручку. У каждого заказа есть дата, заказчик, заказанное, его стоимость - это все поля класса, а конкретные наборы значений - экземпляры классса.

id;name;count;price;
1;name1;5;5.5;
2;name2;78;6.6;
3;name3;29;7;

Класс - это совокупность полей id;name;count;price;
Экземпляры - строки значений:

1;name1;5;5.5;
2;name2;78;6.6;
3;name3;29;7;
Sarvar Hafizov
Sarvar Hafizov
96 051
У тебя мама есть, а бабушка, а прабабушка? Вот также и в ООП... только в отличие от родословной, базовый класс в ООП известен на 100%.
Баатыр Жаанбаев Это уже подход наследования...
это просто парадигма программирования и один из ее уровней абстракции
Zhenis Tumatayev
Zhenis Tumatayev
59 848
Объект нужен для изоляции логики, связанной с конкретной сущностью. Аналогия - черный ящик.
Т. е. вместо того, чтобы обращаться к сложной логике напрямую, ваш код просит объект о том, чтобы он сделал всё, что вам нужно, если он это умеет. Вашему коду не важно, как объект будет делать то, что вы его попросили. Для вашего кода внутренняя кухня объекта - это черный ящик.
Классы - это шаблоны для создания объектов.
Баатыр Жаанбаев Да я это понимаю, для чего их используют в ООП?) Я много прочитала но не очень понимаю, ..
все то что есть в классе они одни "семья"