на таких примитивных примерах вы не поймете "практической пользы" объектов
На сколько сложной должна быть задача, чтобы понять?
Я понимаю такие вещи как инкапсуляция, полиморфизм и наследование.
Есть класс собака, в котором есть свойства и методы с количеством ног, наличием хвоста, шерсти, продолжительностью жизни, умением лаить, лежать, сидеть...
Класс котов лаить не умеет, форма морды у этого класса другая и хвостами они по другому виляют.
Есть дочерний (производный) класс конкретной породы собак с теми же свойствами и методами + что-то, что свойственно только этой породе.
Мое смутное понимание таково, что если мы заганяем в онлайн игру "Стая" целую собачую семью одной породы, у которых разные только пол и возраст, то легче пол и возраст передать в класс, чем дергать на каждую собаку 3 десятка функций по умению лаить, сидеть, лежать, отсчету возраста по сравнению с людьми из поселка за рекой... Таким образом решаются те же задачи - во-первых, это позволяет не умереть со скуки при многократном повторении одного и того же кода, во-вторых, облегчает редактирование, ведь в случае чего менять код нужно только один раз в теле класса, а не 2 (3,5,10,100) раз(а) по функциям.
Приветствую форумчан. Я не хотел плодить дурацкие темы на форуме, по сему пишу в хвост старой. У меня примерно та же проблема - не понимаю практической пользы от ООП. Навыки в программировании есть, создаю сайты, на полную маслаю функции, шаблоны и прочие прелести, понимаю принцип работы ООП, но не понимаю практической пользы от использования объектов. Прошу пояснить дураку чем ООП полезно.
Более детально о том, что именно мне не доходит.
По большому счету всю страницу можно написать без ООП, функций и циклов используя только конструкции if-else.
Пример. Нам нужно распечатать на странице все цифры от 1 до той, которую введет юзер в input на сайте. Это можно сделать так:
Идем дальше. Если у нас в теле кода много раз повторяются одни и те же действия, мы их выносим в функцию.
Пример. Нам нужно распечатать на странице все цифры от 1 до той, которую введет юзер в input на сайте 2 раза, а между этими разами сделать еще что-то. Это можно сделать так:
Во-первых, это позволяет не умереть со скуки при многократном повторении одного и того же кода, во-вторых, облегчает редактирование, ведь, в случае чего, менять код нужно только один раз в теле функции/цикла, а не 2 (3,5,10,100) раз(а) по всему документу.
Поясните, пожалуйста, подобным способом, какую выгоду дают объект с классом, ибо я никак не понимаю их практической пользы.