|
0 / 0 / 0
Регистрация: 02.10.2019
Сообщений: 20
|
|
Объясните понятие ООП13.02.2020, 23:25. Показов 21605. Ответов 242
0
|
|
| 13.02.2020, 23:25 | |
|
Ответы с готовыми решениями:
242
Понятие ООП
Дать понятие понятие НОК в кольце целых чисел |
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,900
|
|
| 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,820
|
|
| 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,820
|
||
| 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,900
|
|||||||
| 10.08.2020, 14:50 | |||||||
Добавлено через 7 минут И, кстати, данный приём используется не только для объектов, но и для значений.
0
|
|||||||
|
Модератор
3140 / 2288 / 469
Регистрация: 26.03.2015
Сообщений: 8,900
|
||
| 10.08.2020, 15:26 | ||
|
0
|
||
|
820 / 579 / 75
Регистрация: 20.09.2014
Сообщений: 3,820
|
||
| 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,820
|
|
| 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 | |
|
Объясните кое что по ООП ООП в паскале. Объясните что к чему Объясните некоторые принципы ООП в конкретной реализации
Начинаю изучать ООП. Объясните, что такое интерфейс? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|