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

Публикации по теме '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 ++ Сначала давайте...

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

Разработчики — Избегайте сложностей глупо
Сложность управляется, а не побеждается «Простота — великая добродетель, но для ее достижения требуется тяжелая работа и образование, чтобы оценить ее. И что еще хуже: сложность продается..

Как сделать HTML динамическим с помощью JavaScript
Код JavaScript выполняется внутри страниц сайта. Таким образом, страница вашего сайта содержит метки HTML, а также пояснения (скрипты), составленные с использованием диалекта сценариев, такого как..

Деревья классификации и регрессии
Это мой второй пост об алгоритмах машинного обучения. Мой первый пост посвящен искусственным нейронным сетям, вы можете найти его ниже. Нейронные сети — базовое..

HMTL - Многозадачное обучение для решения задач НЛП
Достижение результатов SOTA путем передачи знаний между задачами Область обработки естественного языка включает в себя десятки задач, среди которых машинный перевод, распознавание именованных..

Решения DBA Metrix
DBA Metrix Solutions предоставляет удаленного администратора базы данных (DBA), который несет ответственность за внедрение, обслуживание, настройку, восстановление базы данных, а также другие..

Начало работы с Блум
Обзор и Codelab для генерации текста с помощью Bloom Оглавление Что такое Блум? Некоторые предостережения Настройка среды Скачивание предварительно обученного токенизатора и модели..

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..