Другие языки программирования и технологии
Зачем нужно ООП? Зачем нужно объектно-ориентированное программирование?
Чтобы программировать
Виталя Дудников
Это понятно и банально, имеется ввиду, зачем ООП в целом? Можем же и процедурное программирование использовать и кодить в одном файле или ООП создано для удобства?
Чтобы создавать грабли методом матрешки.
На самом деле, это чуть ли не единственная более-менее натуральная (в смысле соответствия натуре) модель программирования. Предложи что-нибудь лучше - прославишься в узких кругах.
На самом деле, это чуть ли не единственная более-менее натуральная (в смысле соответствия натуре) модель программирования. Предложи что-нибудь лучше - прославишься в узких кругах.
что-бы не писать сотни строчек кода используют уже написанные Обьекты наследуя и изменяя их характеристики
Виталя Дудников
По сути ООП нужно для удобства программистам, чтобы быстрее делать программы?
Чтобы пользоваться возможностями ООП - классы, объекты, наследование, интерфейсы и т. д. и т. п.
Кому-то нужно, а кому-то нет...
Чтобы было проще составлять программную модель
Простой пример:
Есть класс вещь - это может быть всё что угодно, поэтому - это будет главный класс, он имеет например свойства: масса, местоположение.
Создать её мы не можем, поелику вещь не материальна, а абстрактна.
Но! Мы можем унаследовать её свойства.
Стол! Мы знаем как он выглядит, из чего состоит? (новые свойства для класса) Да!
Наследуем класс вещи, получаем стол со свойствами: масса, местоположение, материал, форма.
Создаём несколько столов и каждый будет иметь свой собственный идентификатор.
Например:
стол с1 = СоздатьСтол (10 кило, (x=604;y=342), дуб, "кухонный столик")
стол с2 = СоздатьСтол (15 кило, (x=504;y=362), ель, "рабочий стол")
с1.свойство1 = х
с1.ПередвинутьСтол (324,323)
c2.Покрасить ("зелёный")
и тп.
Это удобно для программиста.
Есть класс вещь - это может быть всё что угодно, поэтому - это будет главный класс, он имеет например свойства: масса, местоположение.
Создать её мы не можем, поелику вещь не материальна, а абстрактна.
Но! Мы можем унаследовать её свойства.
Стол! Мы знаем как он выглядит, из чего состоит? (новые свойства для класса) Да!
Наследуем класс вещи, получаем стол со свойствами: масса, местоположение, материал, форма.
Создаём несколько столов и каждый будет иметь свой собственный идентификатор.
Например:
стол с1 = СоздатьСтол (10 кило, (x=604;y=342), дуб, "кухонный столик")
стол с2 = СоздатьСтол (15 кило, (x=504;y=362), ель, "рабочий стол")
с1.свойство1 = х
с1.ПередвинутьСтол (324,323)
c2.Покрасить ("зелёный")
и тп.
Это удобно для программиста.
При написании больших и средних проектов ООП существенно упрощает процесс разработки и понимание кода, существенно снижается количество ошибок. Разумеется, прочитав пару книг по ООП и даже поняв их, написать более менее сложный и поддерживаемый проект не получится, т. к. нужно много практики. Как правило недопрограммисты применяют ООП через жопу и код получается еще хуже чем при процедурном подходе, но в умелых руках это очень мощный инструмент.
Чрезмерное увлечение этой парадигмой вызывает ООП головного мозга и такой программист становится не способен адекватно написать что-либо более низкоуровневое, чем окошки с кнопками.
Чрезмерное увлечение этой парадигмой вызывает ООП головного мозга и такой программист становится не способен адекватно написать что-либо более низкоуровневое, чем окошки с кнопками.
Ну еще ООП хорошо для разбора своего старого кода. Процедурный подход конечно можно хорошо комментировать, но в итоге все равно ты что-то да забудешь через допустим год. А ООП - это прям как схема, где можно сразу понять что откуда вызывается и что мы вообще делаем.
раз оно есть и распространено на этой планете, а мне на ней работать, значит нужно. и все.
Может поможет ответить серия роликов про SOLID на C#
https://www.youtube.com/playlist?list=PLIB8be7sunXP9ogxcq0cq87vpXG_GxJDp
https://www.youtube.com/playlist?list=PLIB8be7sunXP9ogxcq0cq87vpXG_GxJDp
Похожие вопросы
- Конец объектно-ориентированному программированию? Переходим от “черных” ящиков к ”белым” и ”прозрачным” ящикам?
- Объектно ориентированное программирование. (ООП)
- Применение ООП (Объектно-ориентированное-программирование)
- Кто-будь доступно может объяснить что же такое Объектно ориентированное программирование?
- Объектно-ориентированное программирование. Программа и ее интерфейс.
- Что из себя представляет объектно-ориентированное программирование, как выглядит (своими словами, пожалуйста)?
- Языки объектно-ориентированного программирования общая характеристика?
- Что такое объектно-ориентированное программирование?
- Объясните что такое объектно-ориентированное программирование просто и понятно, желательно с примерами (с++)
- Стоит ли пользоваться Объектно-ориентированным программированием ?