Хобрук: Ваш путь к мастерству в программировании

Публикации по теме 'polymorphism'


Протоколы и мультиметоды
Подобно Шаблону команд , знакомому нам по объектно-ориентированному программированию, Clojure предоставляет мультиметоды и протоколы, которые позволяют разработчикам реализовать такой полиморфизм времени выполнения при формировании абстракций в функциональном стиле и их реализациях. В этой статье блога я продемонстрирую пример, объясняющий, как использовать такой полиморфизм в Clojure. Чтобы реализовать абстракцию, подобную интерфейсу, Clojure предоставляет defprotocol , функция..

Маркер Интерфейсы
При программировании на Java всегда рекомендуется программировать на интерфейс, а не на реализацию . Интерфейсы - это программные конструкции, которые позволяют нам скрыть от клиентов реальные детали реализации наших методов и классов. Чтобы обезопасить код от промахов и неправильных манипуляций, а также для обеспечения гибкости, мы всегда должны стремиться раскрывать нашу функциональность через интерфейсы. Интерфейсы также являются отличным инструментом объектно-ориентированного..

Вопросы по теме 'polymorphism'

Полиморфные дети Rails
Я видел много хороших примеров дочерней модели (скажем, «Комментарий»), принадлежащей нескольким родительским моделям («Публикация», «Продукт» и т. д.). Например, вот один из них: http://railscasts.com/episodes/154-polymorphic-association ....

Метод переопределения в другом пространстве имен C#
У меня есть два класса в разных проектах. Первый с именем GeneralConcept находится в пространстве имен I.am.here и имеет метод protected virtual с именем DoSomething . Второй называется SpecificInstanceOfConcept , находится в...

Scala — Реализация полиморфного абстрактного признака без полиморфизма
Я разрабатываю простой конвейер обработки данных в Scala. В нем участвуют PipelineStage , которые transform некоторые StageOutput превращают в другие StageOutput . Pipeline — это оболочка для последовательности PipelineStage , которая...

Scala: Обнаружение и извлечение чего-то более конкретного из набора значений Any
Scala: Обнаружение и извлечение чего-то более конкретного из набора Any значений. (Мотивация: Saddle-библиотека — единственная найденная мной библиотека Scala, предоставляющая тип Frame, который имеет решающее значение для науки о данных —...

Как передать производные классы абстрактного класса в качестве параметра?
В настоящее время я работаю над заголовком С++ для кодирования и декодирования текста. Если быть точным: UTF-8, UTF-16, UCS-2 и UTF-32. Но я дошел до того, что мои знания C++ больше не помогут: Я хотел бы использовать абстрактный класс для...

@OneToMany, где mappedBy — это @Any
У меня есть полиморфная связь, представленная интерфейсом commentable . Комментарии могут быть нацелены как на посты, так и на другие комментарии. Я могу представить сторону комментария этих отношений, извлекая целевой пост, но я не могу...

Когда на практике полезно использовать dynamic_cast от родителя к потомку? Всегда ли это плохая практика?
Когда на практике полезно использовать dynamic_cast от родителя к потомку? Всегда ли это плохая практика? Это НЕ дубликат: Полиморфизм C ++: от родительского класса к дочернему Информация о типах времени выполнения в C ++ Сначала давайте...

Новые материалы

Мой процесс подачи заявки в Школе программного обеспечения и дизайна Тьюринга
Мой последний пост на Medium был в конце августа, и в нем я пообещал написать еще раз, рассказывая историю моего процесса подачи заявки в Школу программного обеспечения и дизайна Тьюринга ...

Генерация ваших собственных удивительных QR-кодов с использованием Python
QR-код (код быстрого ответа) — это разновидность матричных штрих-кодов (или двумерных штрих-кодов), изобретенных в 1994 году японской автомобильной компанией Denso Wave . Штрих-код —..

Прогресс в технологии Трансформеров часть 3
Многомасштабный управляющий сигнальный преобразователь для бесфазного синтеза движения (arXiv) Автор: Линтао Ван , Кун Ху , Лей Бай , Юй Дин , Ваньли Оуян , Чжиюн Ван . Аннотация:..

Представляем поддержку компонентов Vue.js. Мгновенный HMR и многое другое.
Хотя у FuseBox уже был плагин Vue, он был базовым и не имел многих функций, которые делали работу с Vue.js такой приятной. Однако с этим выпуском мы рады сообщить, что в FuseBox..

Приключения в Javascript, часть 1
Я продолжаю думать о том, чтобы писать больше, но чем больше я думаю об этом, тем меньше я это делаю. Итак, сегодня я перестал думать и начал писать. Отсюда можно только спускаться… В..

Понимание дженериков в TypeScript: подробное руководство
Введение TypeScript, строго типизированный надмножество JavaScript, хорошо известен своей способностью улучшать масштабируемость, удобочитаемость и ремонтопригодность приложений. Одной из..

Учебные заметки JavaScript Object Oriented Labs
Вот моя седьмая неделя обучения программированию. После ruby ​​и его фреймворка rails я начал изучать самый популярный язык интерфейса — javascript. В отличие от ruby, javascript — это более..