|
0 / 0 / 0
Регистрация: 02.10.2019
Сообщений: 20
|
|
Объясните понятие ООП13.02.2020, 23:25. Показов 22964. Ответов 242
0
|
|
| 13.02.2020, 23:25 | |
|
Ответы с готовыми решениями:
242
Понятие ООП
Дать понятие понятие НОК в кольце целых чисел |
|
Модератор
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||
| 26.10.2020, 12:34 | ||
|
"Полиморфизм... Эта интересная штука выплывает из-за того, что имя функции не является полным идентификатором (в паскалевском смысле). "
0
|
||
|
821 / 580 / 75
Регистрация: 20.09.2014
Сообщений: 3,827
|
|||
| 28.10.2020, 07:55 | |||
Вы при наследовании стерли имя/тип родителя... И что делать всем полям и методам без того имени? Напрашивается ответ: использовать имя/тип объекта-наследника.А при композиции так как за методами и полями осталось старое имя, то и делать ничего не надо. Для студентов такое обобщение полезно. Чтобы не забывали. А адептам языков программирования надо думать только о том, что выражается на языке программирования программными конструкциями, а не подразумевается.
0
|
|||
|
Модератор
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
|||
| 28.10.2020, 09:34 | |||
|
Если я создам новый тип с помощью композиции, то я не смогу использовать его вместо старого.
0
|
|||
|
Модератор
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
|
| 28.10.2020, 19:57 | |
|
0
|
|
|
|
||||||
| 29.10.2020, 11:20 | ||||||
|
Не уверен, что это именно утиная типизация:
0
|
||||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|
| 29.10.2020, 14:10 | |
|
0
|
|
|
Модератор
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||
| 29.10.2020, 16:24 | ||
|
0
|
||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|
| 29.10.2020, 16:38 | |
|
0
|
|
|
Модератор
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
|
| 30.10.2020, 12:24 | |
|
vantfiles,
Упрощённо: Полиморфизм - функция может обрабатывать аргументы разных типов. Утиная типизация - тип определяется по поведению (умеет крякать - значит утка). Фактически, функция может обрабатывать только один тип "утка", но относит к нему всех, кто умеет крякать. Это не полиморфизм. Специальный (ad hoc) полиморфизм - это не настоящий полиморфизм, а всего лишь иллюзия полиморфизма. Каждая из функций работает только с одним конкретным типом, но из-за одинаковых имён у разных функций и/или неявного приведения к нужному типу, создаётся иллюзия, что одна функция работает с разными типами. Имеем две разновидности специального полиморфизма - перегрузка и неявное приведение. Истинный (универсальный) полиморфизм - функция может обрабатывать аргументы разных типов. Но не любых, а удовлетворяющих неким условиям, выполнение которых гарантирует, что функция умеет обрабатывать данные типы. Имеем две разновидности универсального полиморфизма - парметрический и включения (подтипов). Полиморфизм подтипов - функция работает с типом Т и всеми его наследниками. Гарантируется, что наследники умеют всё то, что умеет базовый класс. Параметрический полиморфизм - функция работает с любым типом Т, принадлежащим заданным классам. Здесь слово "класс" используется в математическом смысле. Например, "типы, которые можно сравнивать" или "типы, которые можно складывать". Гарантируется, что все удовлетворяющие ограничениям типы будут уметь всё, что требуется функции. В ООП "классы типов" можно имитировать с помощью наследования от интерефейсов. У такого подхода есть два существенных недостатка: 1. Если для входных параметров работает полиморфизм подтипов, то возвращаемый результат нужно приводить к нужному типу. Для решения этой проблемы в современные ООЯ добавляют обобщённые функции (параметрический полиморфизм). 2. Наследование нельзя задать без изменения исходного кода, описывающего тип. (Например, я не могу добавить в тип List<T> наследование от своего интерфейса). Для решения этой проблемы в современные ООЯ добавляют миксины (классы типов).
1
|
|
|
|
||||||
| 30.10.2020, 16:47 | ||||||
|
Это тоже утки?
0
|
||||||
|
821 / 580 / 75
Регистрация: 20.09.2014
Сообщений: 3,827
|
|
| 30.10.2020, 19:54 | |
|
Настоящий полиморфизм - это не то, что вы называете настоящим полиморфизмом, просто потому что так хочется. Настоящий полиморфизм - его отличает то, что он специально поддерживается языком программирования.
Отсюда, поддержка языком динамических типов и наличие функции type_of() - это хрень, а не полиморфизм. Настоящий полиморфизм - это перегрузка функции, так как язык поддерживает несколько морфов одной функции. Полиморфизм - это только "поли" (много) и "морф" (форма) в языке. Добавлено через 3 минуты Короче наш предмет спора заключается в следующем: 1. Ваша школа учит давать определения в отрыве от конкретного языка (у вас концепции). 2. У меня определения конкретные, основаны на языковых конкретиках.
0
|
|
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,782
|
|
| 31.10.2020, 02:30 | |
|
0
|
|
|
Модератор
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
|
| 02.11.2020, 13:31 | |
|
В разделе ИИ я уже насмотрелся на деятелей типа "Вы все не понимаете, что такое ИИ, и в учебниках всё неправильно написано. Сейчас я вам объясню, что такое ИИ на самом деле." с последующим объяснением в стиле "Иван и Марфа..".
0
|
|
|
821 / 580 / 75
Регистрация: 20.09.2014
Сообщений: 3,827
|
|
| 02.11.2020, 18:42 | |
|
Да просто по вашим шпаргалкам перегрузку функций надо относить к универсальному полиморфизму, но вы не задумываясь на автомате относите ее к специальному полиморфизму. Ведь по определению, универсальный полиморфизм поддерживает сколько угодно разных типов. А перегрузка как раз поддерживает сколько угодно типов. Как быть?
Получается просто нескладуха в учебниках.
0
|
|
|
Модератор
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
||
| 02.11.2020, 23:17 | ||
|
0
|
||
|
821 / 580 / 75
Регистрация: 20.09.2014
Сообщений: 3,827
|
|
| 03.11.2020, 18:29 | |
|
Я не понимаю, почему такое цепляние за "один и тот же код обрабатывает разные данные"? Просто личная хотелка. Не так ли?
Полиморфизм ведь заключается только лишь в том, что функция с одним и тем же именем обрабатывает разные данные. Не путайте "один и тот же код" с "функцией с одним и тем же именем". Первое вообще нисколько не принципиально, не для этого морфизм придумывали. )))) Добавлено через 3 минуты Вот пример полиморфизма - функция strike(), которая моделирует столкновение шариков друг с другом, либо столкновение шариков с подпружиненной поверхностью, потом столкновение шариков с песком и т.д. Кому тут дался ваш универсальный полиморфизм?
0
|
|
|
Модератор
3142 / 2290 / 469
Регистрация: 26.03.2015
Сообщений: 8,920
|
|||
| 04.11.2020, 02:13 | |||
|
Я могу написать на C# функцию, которая принимает object, вызывает GetType() и дальше большой switch по результатам. Но это не будет полиморфизмом.
0
|
|||
| 04.11.2020, 02:13 | |
|
Объясните кое что по ООП ООП в паскале. Объясните что к чему Объясните некоторые принципы ООП в конкретной реализации
Начинаю изучать ООП. Объясните, что такое интерфейс? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|
После закрытия оутлука продолжает висеть процесс в диспетчере задач
Maks 27.10.2026
С недавнего времени в продакшене возникла проблема: при закрытии оутлука в диспетчере задач продолжал висеть процесс outlook. exe. Проблема возникла после установки MS Office 2021 LTSC на машинах, под. . .
|