|
0 / 0 / 0
Регистрация: 02.10.2019
Сообщений: 20
|
|
Объясните понятие ООП13.02.2020, 23:25. Показов 21494. Ответов 242
0
|
|
| 13.02.2020, 23:25 | |
|
Ответы с готовыми решениями:
242
Понятие ООП
Дать понятие понятие НОК в кольце целых чисел |
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
|
| 25.05.2020, 11:06 | |
|
0
|
|
|
|
||
| 07.08.2020, 10:21 | ||
|
Парадигмы:
автоматное программирование аспектно-ориентированная визуальная вычисления с откатами декларативная императивная конкатенативный логическая матричная метапрограммирование мультипарадигма на уровне значений на уровне функций нестрогая обмен сообщениями обобщённая объектно-ориентированная параллельная потоковая правила переписывания предметно-ориентированная прототипная процедурная рефлексивная скалярная стек-ориентированная строгая структурная табличная функциональная эзотерическая При чем тут
0
|
||
|
|
|
| 07.08.2020, 12:10 | |
|
vantfiles, Это все хорошо. Вы перечислили названия. Но я говорил в своем высказывании об определении "Паради́гма программи́рования", как его преподносит вики.
Добавлено через 25 минут В общем-то я к чему это все написал. К тому что некоторое неполное определение или не достаточно и в общих чертах поставленная задача может приводить к недопониманию. Такое часто происходит когда заказчик что-то подразумевает или говорит, но в том контексте который для него "само собой разумеющееся", потому что он работает в этом узком направлении. Такое недопонимание может происходить когда менеджер по найму задает некоторые общие вопросы, но подразумевает некоторое узкое направление использования.
0
|
|
|
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,816
|
|
| 07.08.2020, 21:53 | |
|
ООП - это объединение под общим именем (именем объекта) переменных, функций и других объектов. Рекурсивное определение.
А всякие там наследования и полиморфизмы - это не суть.
0
|
|
|
|
|
| 08.08.2020, 11:43 | |
|
Основные принципы ООП:
Наследование Абстракция Инкапсуляция Полиморфизм Можно от этого отталкиваться чтобы вывести правильное определение ООП. Но в программировании и в проектировании основная сложность: Мы что-то делаем идя от общего к частному, или от частного к общему. Это достаточно трудный момент.
0
|
|
|
|
|
| 08.08.2020, 12:39 | |
|
Я не помню, откуда взял этот FAQ, но мне он кажется достаточно четким и полным:
Кликните здесь для просмотра всего текста
ООП - это... 1. Что такое объектно-ориентированное программирование? Это модель языка программирования организованая вокруг объектов, а не действий и данных, а не логики. 2. Что такое объект в ООП? Объект называется экземпляром класса, и он имеет свое собственное состояние, поведение и идентичность. 3. Что такое класс в ООП? Класс - это представление типа объекта. Это план / шаблон, которые описывают детали объекта. 4. В чем разница между классом и объектом? Класс представляет собой концепцию, а объект является воплощением этой концепции. Класс является логическим понятием, а объект - физический. Класс объявляется один раз, а объект может создаваться много раз в соответствии с требования. Класс может иметь подклассы, а объект не имеет под-объектов. 5. Каковы базовые принципы ООП? Абстракция. Инкапсуляция. Наследование. Полиморфизм. 6. Что такое инкапсуляция? Инкапсуляция - это значит ограничивать доступ одних компонентов программы к другими, скрывая детали реализации; это то, как мы определяем видимость свойств и методов класса используя модификаторы доступа: public: публичный, общедоступный. Свойства и методы, объявленные с модификатором public, видны другим классам. private: закрытый, противоположность модификатору public. Закрытый класс или член класса доступен только из кода в том же классе. protected: доступ разрешон только внутри самого класса и наследующим его классам. 7. Что такое наследование? Наследование это концепция, в которой один класс разделяет структуру и поведение, определенные в другом классе. Класс наследник создаёться на основе уже существующего класса - родитель (базовый) - сохраняя эго функциональность не копируя код и имея возможность менять или добавить дополнительную функциональность. 8. Что такое абстракция (абстрактный класс)? Абстракция это выдиления набора методов и свойств которые являються шаблоном с общим функционалом для наследования другими классами. Такой набор в ООП и есть абстрактный класс. Абстрактный класс может содержать методы с реализацией (но не обязательно) и он не может быть инициализирован. При наследовании от абстрактного класса все методы, помеченные как абстрактные, должны определяться дочерним классом. 9. Что такое полиморфизм? Греческий термин, чем означает способность принимать другую форму. Он реализуется в виде перегрузки методов и перегрузки операторов (в С++). Это сопоставление поведения или значения в подклассе тому, что уже было объявлено в базовым классе. 10. Что такое интерфейс в ООП? Интерфейс коллекция методов которых должен реализовать класс, без необходимости определять, как эти методы обрабатываются. Тела этих методов должны быть public и пустыми в интерфейсе. Все методы из интерфейса должны быть реализованы в классе. А сам класс может реализовать более одного интерфейса. 11. В чем разница между интерфейсом и абстрактным классом? Интерфейс подобен протоколу. Он не определяет поведение объекта, но указывает, как он должен действовать. Абстрактный класс является частично построенным классом. Это похоже на документ с пробелами для заполнения. В интерфейсе в отличие от абстрактного класса не может быть обьявлен конструктор. Интерфейс имплементится а абстрактный класс наследуеться. В интерфейсе по сравнению с абстрактным классом не может быть свойств и не определены тела у методов. Абстрактный класс в отличие от интерфейса может иметь не только публичные методы. 12. В чем разница между композицией и агрегацией? Агрегация и композиция являются частными случаями ассоциации. А ассоциация означает, что объекты двух классов имеют некоторую связь между друг другом. Композиция это сильная ассоциация - содержащийся объект полностью зависит от объекта контейнера. Агрегация это слабая ассоциация - содержащийся объект не зависит от объекта контейнера. 13. Что такое конструктор и зачем он нужнен? Конструктор - это метод, используемый для инициализации состояния объекта, и он запускается при создании объекта. Имя конструктора должно быть таким же, как имя класса (Не в PHP, там он называеться __construct). Конструктор не должен иметь тип возврата, но может иметь параметры инициализации и может быть перегружен. Есть смысл использовать когда нужна «функция инициализации», то есть некотырые действия которые должны выполнться иммено на этом этапе. 14. Что такое деструктор и зачем он нужнен? Деструктор - это метод, который автоматически вызывается, когда объект уничтожается. Имя деструктора совпадает с именем класса, но с символом тильды перед именем (а в PHP - __destruct). Как и конструктор, деструктор используеться когда есть действия которые должны выполнться иммено на этом этапе. 15. Что такое static? Модификатор static определяет члены классов которые разделяются всеми экземплярами этого класса и хранятся в одном месте. Нестатические элементы данных создаются для каждой переменной объекта класса. Статические функции могут обеспечивать функциональность, относящуюся к определенному классу, не требуя от программиста сначала создать экземпляр этого класса. Неспособность объявить статические члены класса привела бы к необходимости объявлять эти данные на глобальном уровне программы. 16. Разница между overloading (перегрузкой) и overriding (переопределением)? Overloading означает наличие двух методов с тем же именем метода и параметрами. Один из методов находится в родительском классе, а другой - в дочернем (класс-наследник). Перегрузка это пример полиморфизма во время выполнения. Overriding возникает, когда два или более метода в одном классе имеют одно и то же имя метода, но разные параметры. Переопределения это пример полиморфизма во время компиляции. 17. Что такое указатель THIS? Указатель THIS относится к текущему объекту класса. THIS используется как указатель, который отличает текущий объект от глобального объекта. Этот указатель существует всюду внутри класса, его не надо как-то явно объявлять, к нему можно обращаться внутри любого метода класса. 18. Что такое namespace в ООП? Namespace - пространство имен - обеспечивает способ группировки связанных классов, интерфейсов, функций и констант. Нужен для организации кода в логические группы и предотвращения конфликтов имен, которые могут возникнуть, когда код включает в себя несколько библиотек с теми же названиями классов. Абстрактно говоря это способ инкапсуляции элементов. 19. Что такое геттеры(getters)/сеттеры(setters)? Это методы для установления и получения значения приватных свойств класса. Другими словами getters и seters инкапсулируют поля класса, делая их доступными только через свои общедоступные методы, сохраняя сами значения приватными (private). 20. Что такое клонирование в ООП? Клонирование относится к созданию точной копии объекта, это процесс создания другой точной копии объекта а не только ссылки на него.
0
|
|
|
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,816
|
||
| 09.08.2020, 09:43 | ||
![]() Добавлено через 2 минуты Объект - это когда ты пишешь в программе object.variable и object.function(). Наследования и абстракции - это то, чего может не быть в ООП.
0
|
||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|||
| 09.08.2020, 15:07 | |||
|
Вот это просто ![]()
0
|
|||
|
|
||
| 09.08.2020, 16:20 | ||
|
Если вам этот текст не нравится - поступите конструктивно, напишите свои ответы на заданные в нем вопросы.
0
|
||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
|||||||
| 10.08.2020, 14:50 | |||||||
Добавлено через 7 минут И, кстати, данный приём используется не только для объектов, но и для значений.
0
|
|||||||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,898
|
||
| 10.08.2020, 15:26 | ||
|
0
|
||
|
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,816
|
||
| 10.08.2020, 15:44 | ||
|
P.S. Хочу создать новую тему про идеальный IDE... Добавлено через 2 минуты Мы можем использовать объекты без наследования, абстракции и полиморфизма. Это доказательство, что ООП не зиждется на этих принципах.
0
|
||
|
|
||
| 10.08.2020, 16:05 | ||
|
Shamil1, не нашел в этом тексте слово class, не понял, к чему этот пример. Если убрать слово THIS - и просто рассказать о существовании в экземпляре указателя на самого себя -- то под этот текст подойдет с десяток ооп-языков с весьма различающимися ооп-моделями.
Добавлено через 10 минут
0
|
||
|
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,816
|
|
| 10.08.2020, 16:12 | |
|
Мало, но это мощная основа, которую не все понимают.
0
|
|
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
||||
| 11.08.2020, 01:02 | ||||
|
P. S. This, при этом, можно и оставить.
0
|
||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|
| 11.08.2020, 15:45 | |
|
0
|
|
|
|
||||
| 11.08.2020, 16:58 | ||||
|
0
|
||||
| 11.08.2020, 16:58 | |
|
Объясните кое что по ООП ООП в паскале. Объясните что к чему Объясните некоторые принципы ООП в конкретной реализации
Начинаю изучать ООП. Объясните, что такое интерфейс? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Теория всего 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
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
|