понять ООП? Объекты, классы, наследование, полиморфизм, инкапсуляция, все прочие эти термины вроде бы примерно ясны, но где эта грань, между кодом написанным в стиле ООП и просто кучей внутри класса? Все объясняют ООП на примере класса Человек, словесно, тоже вроде бы ясно, но программирование же это мне кажется что-то больше, чем создание классов холодильник, человек и животное. Вот мне бы хотелось узнать, где грань, между реальным ООП и функциями внутри класса и где можно почитать про ООП на реальных примерах?
Полиморфизм нужен всем и всегда и следующее из этого наследование. Это очень прекладные вещи.
Верю, но мне бы понять, как все это применяется, как не писать просто функции процедурного стиля внутри класса, как грамотно использовать все принципы ООП и для чего оно вообще нужно, потому что объяснения про животных уже задолбали, вряд ли программирование это зоопарк
Очень удобно иметь базовый класс иногда чисто виртуальный и перегружать в нем методы для конкретного типа объектов. Потому что мы имеем одинаковый интерфейс для слона и льва мы говорим кушай он кушает что кушать пусть сами разбираются. А из-за общего предка мы можем хранить всех зверят в одном месте, например векторе
это невозможно объяснить без практики. Всё это ооп и прочее нужно чтобы программа легче читалась и легче проектировалась, а объективных критереев оценки этих параметров почти нет
+ Можно ещё рассматривать как средства структурирования кода Как способ описания задачи, абстракции, отношений часть-целое, родитель-потомок итд В купе с принципом DRY на практике станет понятно Ограничений никаких нет, есть тыща способов выражения логической структуры программы средствами ооп
Обсуждают сегодня