|
0 / 0 / 0
Регистрация: 02.10.2019
Сообщений: 20
|
|
Объясните понятие ООП13.02.2020, 23:25. Показов 21156. Ответов 242
Скажите пожалуйста понятным языком, что такое объектно-ориентированное программирование ?
0
|
|
| 13.02.2020, 23:25 | |
|
Ответы с готовыми решениями:
242
Понятие ООП
Дать понятие понятие НОК в кольце целых чисел |
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,894
|
||
| 26.10.2020, 12:34 | ||
|
"Полиморфизм... Эта интересная штука выплывает из-за того, что имя функции не является полным идентификатором (в паскалевском смысле). "
0
|
||
|
819 / 578 / 75
Регистрация: 20.09.2014
Сообщений: 3,779
|
|||
| 28.10.2020, 07:55 | |||
Вы при наследовании стерли имя/тип родителя... И что делать всем полям и методам без того имени? Напрашивается ответ: использовать имя/тип объекта-наследника.А при композиции так как за методами и полями осталось старое имя, то и делать ничего не надо. Для студентов такое обобщение полезно. Чтобы не забывали. А адептам языков программирования надо думать только о том, что выражается на языке программирования программными конструкциями, а не подразумевается.
0
|
|||
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,894
|
|||
| 28.10.2020, 09:34 | |||
|
Если я создам новый тип с помощью композиции, то я не смогу использовать его вместо старого.
0
|
|||
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,894
|
|
| 28.10.2020, 19:57 | |
|
0
|
|
|
|
||||||
| 29.10.2020, 11:20 | ||||||
|
Не уверен, что это именно утиная типизация:
0
|
||||||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
|
|
| 29.10.2020, 14:10 | |
|
0
|
|
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,894
|
||
| 29.10.2020, 16:24 | ||
|
0
|
||
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
|
|
| 29.10.2020, 16:38 | |
|
0
|
|
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,894
|
|
| 30.10.2020, 12:24 | |
|
vantfiles,
Упрощённо: Полиморфизм - функция может обрабатывать аргументы разных типов. Утиная типизация - тип определяется по поведению (умеет крякать - значит утка). Фактически, функция может обрабатывать только один тип "утка", но относит к нему всех, кто умеет крякать. Это не полиморфизм. Специальный (ad hoc) полиморфизм - это не настоящий полиморфизм, а всего лишь иллюзия полиморфизма. Каждая из функций работает только с одним конкретным типом, но из-за одинаковых имён у разных функций и/или неявного приведения к нужному типу, создаётся иллюзия, что одна функция работает с разными типами. Имеем две разновидности специального полиморфизма - перегрузка и неявное приведение. Истинный (универсальный) полиморфизм - функция может обрабатывать аргументы разных типов. Но не любых, а удовлетворяющих неким условиям, выполнение которых гарантирует, что функция умеет обрабатывать данные типы. Имеем две разновидности универсального полиморфизма - парметрический и включения (подтипов). Полиморфизм подтипов - функция работает с типом Т и всеми его наследниками. Гарантируется, что наследники умеют всё то, что умеет базовый класс. Параметрический полиморфизм - функция работает с любым типом Т, принадлежащим заданным классам. Здесь слово "класс" используется в математическом смысле. Например, "типы, которые можно сравнивать" или "типы, которые можно складывать". Гарантируется, что все удовлетворяющие ограничениям типы будут уметь всё, что требуется функции. В ООП "классы типов" можно имитировать с помощью наследования от интерефейсов. У такого подхода есть два существенных недостатка: 1. Если для входных параметров работает полиморфизм подтипов, то возвращаемый результат нужно приводить к нужному типу. Для решения этой проблемы в современные ООЯ добавляют обобщённые функции (параметрический полиморфизм). 2. Наследование нельзя задать без изменения исходного кода, описывающего тип. (Например, я не могу добавить в тип List<T> наследование от своего интерфейса). Для решения этой проблемы в современные ООЯ добавляют миксины (классы типов).
1
|
|
|
|
||||||
| 30.10.2020, 16:47 | ||||||
|
Это тоже утки?
0
|
||||||
|
819 / 578 / 75
Регистрация: 20.09.2014
Сообщений: 3,779
|
|
| 30.10.2020, 19:54 | |
|
Настоящий полиморфизм - это не то, что вы называете настоящим полиморфизмом, просто потому что так хочется. Настоящий полиморфизм - его отличает то, что он специально поддерживается языком программирования.
Отсюда, поддержка языком динамических типов и наличие функции type_of() - это хрень, а не полиморфизм. Настоящий полиморфизм - это перегрузка функции, так как язык поддерживает несколько морфов одной функции. Полиморфизм - это только "поли" (много) и "морф" (форма) в языке. Добавлено через 3 минуты Короче наш предмет спора заключается в следующем: 1. Ваша школа учит давать определения в отрыве от конкретного языка (у вас концепции). 2. У меня определения конкретные, основаны на языковых конкретиках.
0
|
|
|
4576 / 2775 / 491
Регистрация: 28.04.2012
Сообщений: 8,781
|
|
| 31.10.2020, 02:30 | |
|
0
|
|
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,894
|
|
| 02.11.2020, 13:31 | |
|
В разделе ИИ я уже насмотрелся на деятелей типа "Вы все не понимаете, что такое ИИ, и в учебниках всё неправильно написано. Сейчас я вам объясню, что такое ИИ на самом деле." с последующим объяснением в стиле "Иван и Марфа..".
0
|
|
|
819 / 578 / 75
Регистрация: 20.09.2014
Сообщений: 3,779
|
|
| 02.11.2020, 18:42 | |
|
Да просто по вашим шпаргалкам перегрузку функций надо относить к универсальному полиморфизму, но вы не задумываясь на автомате относите ее к специальному полиморфизму. Ведь по определению, универсальный полиморфизм поддерживает сколько угодно разных типов. А перегрузка как раз поддерживает сколько угодно типов. Как быть?
Получается просто нескладуха в учебниках.
0
|
|
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,894
|
||
| 02.11.2020, 23:17 | ||
|
0
|
||
|
819 / 578 / 75
Регистрация: 20.09.2014
Сообщений: 3,779
|
|
| 03.11.2020, 18:29 | |
|
Я не понимаю, почему такое цепляние за "один и тот же код обрабатывает разные данные"? Просто личная хотелка. Не так ли?
Полиморфизм ведь заключается только лишь в том, что функция с одним и тем же именем обрабатывает разные данные. Не путайте "один и тот же код" с "функцией с одним и тем же именем". Первое вообще нисколько не принципиально, не для этого морфизм придумывали. )))) Добавлено через 3 минуты Вот пример полиморфизма - функция strike(), которая моделирует столкновение шариков друг с другом, либо столкновение шариков с подпружиненной поверхностью, потом столкновение шариков с песком и т.д. Кому тут дался ваш универсальный полиморфизм?
0
|
|
|
Модератор
3138 / 2286 / 469
Регистрация: 26.03.2015
Сообщений: 8,894
|
|||
| 04.11.2020, 02:13 | |||
|
Я могу написать на C# функцию, которая принимает object, вызывает GetType() и дальше большой switch по результатам. Но это не будет полиморфизмом.
0
|
|||
| 04.11.2020, 02:13 | |
|
Объясните кое что по ООП ООП в паскале. Объясните что к чему Объясните некоторые принципы ООП в конкретной реализации
Начинаю изучать ООП. Объясните, что такое интерфейс? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Pipeline
alhaos 08.06.2026
Pipeline
Pipeline — паттерн конкурентной обработки данных в Go.
Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
|
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь
lIs4oanZS9Y
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|
|
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения
Продолжаю серию постов о дискретно-событийной модели рабочего. . .
|
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы
Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
|
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция
Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
|
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
|