|
0 / 0 / 0
Регистрация: 02.10.2019
Сообщений: 20
|
|
Объясните понятие ООП13.02.2020, 23:25. Показов 21478. Ответов 242
0
|
|
| 13.02.2020, 23:25 | |
|
Ответы с готовыми решениями:
242
Понятие ООП
Дать понятие понятие НОК в кольце целых чисел |
|
4 / 3 / 1
Регистрация: 30.08.2019
Сообщений: 37
|
||
| 14.10.2020, 11:27 | ||
|
Мне нужно посчитать ускорение по второму закону Ньютона. ускорение = Сила / масса .
Создаю свойства "масса" и "сила", они будут проверять корректность данных, ну и хранить их к ним метод "делилка", который будет разбираться с целочисленностью-нецелочисленностью деления и погрешностью. Могу упаковать это всё в модуль, но там не будет проксирования; это то же, что использовать поля и методы класса; в них по дороге к вычислениям кто-нибудь может сдуру влезть и что-то переопределить, и я получу на выходе не весть что. Поэтому я упакую всё в объект, и буду работать внутри него. А что дам пользователю наружу? Конструктор, которому пользователь скормит силу и массу. Класс назову "Считалка_ускорения". Работать с ним пользователь будет мак. моё_укорение = считалка_ускорения (масса: 10, сила: 5) Вот это и есть абстрагирование: реализация вычислений спрятана под капот, а пользователь, посмотрев в инструкцию и прочитав, что здесь ему нужно вычислить ускорение - прямо по инструкции - вызывает считалку ускорения и скармилвает ей параметры. У пользователя в инструкции стоит директива: посчитай ускорение - и он, на заморачивая себе голову деталями, прямо выполняет инструкцию - то есть, работает на уровне языка самой задачи - а не уровне языка решения задачи. У него задача - посчитать ускорение - а не вникать в дебри второго закона Ньютона. Вот в этом состоит абстрагирование. Чем больше пользователь разгружен от деталей решения задачи - тем выше уровень абстрагирования. Добавлено через 9 минут Но есть разная приспособленность парадигм для абстрагирования. Есть более удобные инструменты достижения высокоуровневых абстракций - и менее, соответственно. Чем ближе текст программы к человеческому языку - тем выше работа по уровню абстрагирования. Тем приспособленнее парадигма для абстрагирования.
0
|
||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
||||||||
| 14.10.2020, 11:36 | ||||||||
1
|
||||||||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
|
| 14.10.2020, 11:42 | |
|
2
|
|
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
||||||
| 14.10.2020, 11:57 | ||||||
1
|
||||||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
|
| 14.10.2020, 12:08 | |
|
Если Вас спросят "Что такое двигатель внутреннего сгорания", то ответ типа "это машина, в которой внутренняя энергия топлива превращается в механическую энергию" будет неудовлетворительным. Под это определение подходят и паровой двигатель, и реактивный, и даже огнестрельное оружие.
В любой книге по ООП вы найдёте основные принципы ООП: инкапсуляция, наследование, полиморфизм. В некоторых ещё и абстрация, но это совсем уж тавтология, ибо этот принцип лежит в основе (почти) всего. Всё верно, но нужно понимать две вещи: 1. Принципиальное отличие ООП от других парадигм - в использовании полиморфизма подтипов (а для этого нужно наследование или создание по образцу). 2. Использование ключего слова "class" не означает использование ООП-концепции (не является достаточным условием).
1
|
|
|
4 / 3 / 1
Регистрация: 30.08.2019
Сообщений: 37
|
||
| 14.10.2020, 15:07 | ||
|
Масса должна быть неотрицательной, пользователю при ошибке нужно дать возможность её подкорректировать
Переменная mass - глобальная у соседа. У него вообще все переменные всегда глобальные ![]() Добавлено через 11 минут Парадигма это способ думанья о задаче. Объектно-ориентированному мышлению соответствует объектно-ориентированная парадигма. О задаче может оказаться удобно думать в элементарных или стандартных типах языка программирования. Тогда заниматься объектно-ориентированным проектированием некуда. О задаче может оказаться удобно думать в неких абстрактных категориях, не соответствующих встроенным типам языка программирования. Тогда эти типы можно создать самостоятельно, это будут классы - и думать в них. Тогда текст программы будет близок языку и категориям, которыми человек думает о задаче. Добавлено через 1 час 4 минуты
0
|
||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
|||
| 14.10.2020, 15:19 | |||
|
В C# и Java это будут классы, но только потому, что в них всё делается через... классы. И думать об этом типе мы будем по-разному - в зависимости от того, чем он фактически является - Абстрактным Типом Данных, Миксином и т.д. Причём, зачастую думать в терминах ООП гораздо менее удобно. Например, для сортировки Списка проще передать функцию делегат для сравнения, чем создавать класс реализацию IComparer с перегруженным методом Compare. Например, для обобщённого Списка проще передавать параметр типа, чем писать для каждого типа элементов отдельный класс наследник. Например, ипользовать Алгебраический Тип Данных проще, чем реализовывать паттерн Посетитель или писать класс наследник для каждого возможного варианта данных. (Представьте, например, парсер, который возвращает либо положительный результат разбора, либо детальную информацию о причинах неудачи)
1
|
|||
|
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,814
|
||
| 14.10.2020, 18:00 | ||
|
0
|
||
|
4 / 3 / 1
Регистрация: 30.08.2019
Сообщений: 37
|
||
| 14.10.2020, 18:15 | ||
|
https://www.youtube.com/watch?... =UN%D0%98X
0
|
||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
||||
| 14.10.2020, 21:00 | ||||
|
Добавлено через 1 час 40 минут
0
|
||||
|
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,814
|
||
| 15.10.2020, 06:49 | ||
|
Разве нужна моя помощь в дальнейшем осмыслении?
0
|
||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|||
| 15.10.2020, 07:32 | |||
|
0
|
|||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
|
| 15.10.2020, 12:09 | |
|
0
|
|
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
||
| 15.10.2020, 12:16 | ||
|
Абстрагирование. Любое программирование есть суть абстрагирование. Инкапсуляция. Есть во всех (практических) языках, независимо от парадигмы. Наследование. Способ повторного использования кода. Полиморфизм. То, что он говрит про полиморфизм, лучше не слушать. Для него полиморфизм - это утиная типизация. ("Динамически типизируемые языки единообразно представляют разновидности полиморфизма, что формирует самобытную идеологию в них и влияет на применяемые методологии декомпозиции задач." (с) вики)
0
|
||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
||||||
| 15.10.2020, 12:56 | ||||||
|
У меня есть функция SayHello:
Если некий код можно выполнить для некого класса, то его можно выполнить и для любого класса наследника. То есть, класс наследник умеет всё то, что умеет базовый класс. Эта концепция называется "полиморфизм подтипов". Она влияет на суть проектирования. Если мы хотим, чтобы некий код выполнялся для разных типов, мы должны связать их наследованием. В этом и заключается ООП.
1
|
||||||
|
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,814
|
||
| 15.10.2020, 21:09 | ||
|
0
|
||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|
| 15.10.2020, 21:25 | |
|
0
|
|
|
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,814
|
|
| 15.10.2020, 21:31 | |
|
Ну если модуль ничем неотличим от объектов, то он является объектом. Еще вопросы есть?))
0
|
|
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|
| 15.10.2020, 21:48 | |
|
0
|
|
|
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,814
|
|
| 15.10.2020, 22:31 | |
|
Так определитесь уже, отличим или нет
0
|
|
| 15.10.2020, 22:31 | |
|
Объясните кое что по ООП ООП в паскале. Объясните что к чему Объясните некоторые принципы ООП в конкретной реализации
Начинаю изучать ООП. Объясните, что такое интерфейс? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики
1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
|
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928
Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
|
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего
Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
|
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы
Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
|
|
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока
Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
|
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
|
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат»
Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
|
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
|