Публикации по теме 'polymorphism'
Разберитесь с полиморфизмом раз и навсегда
Основной причиной использования интерфейсов является достижение полиморфизма и предоставление разработчикам возможности в будущем реализовывать методы интерфейса по-своему.
В этом примере я буду использовать TypeScript и помещу репозиторий в конец заметки.
Предположим, у нас есть интерфейс и три класса:
Это интерфейс коннектора.
Теперь мы собираемся реализовать связь Wi-Fi.
Здесь мы разработали наш конкретный класс под названием WifiConnector, который имеет собственную..
Сравнение наследования и полиморфизма в JAVA
Наследование:
Наследование — это организационный механизм, который позволяет создавать иерархическую классификацию. Используя наследование, мы можем создать новый класс, являющийся специализацией существующего класса. В терминологии Java наследуемый класс называется суперклассом. Класс, выполняющий наследование, называется подклассом. Следовательно, подкласс — это специализированная версия суперкласса.
Повторное использование: когда мы хотим создать новый класс, а уже есть..
Что такое утиный ввод в JavaScript?
Почему JavaScript думает, что на этой картинке изображена утка, печатающая текст, и почему это должно вас волновать?
JavaScript думает, что это изображение утки, печатающей текст. Нет, серьезно, это так. И что касается нас, если JavaScript думает, что это изображение утиного набора, мы также можем предположить, что это изображение утиного набора.
Что я имею в виду? Ну, утиный ввод означает, что если два или более не связанных между собой объекта реагируют на одно и то же..
Эти 4 примера объясняют все о полиморфизме Java
В этой статье давайте обсудим основные и сложные концепции, лежащие в основе термина полиморфизм. Мы также обсудим некоторые хитрые способы кодирования с использованием переопределения и перегрузки методов. Это поможет взломать интервью.
Основная концепция
Основная концепция полиморфизма - это одно и то же имя, но разные функции . В java можно создавать разные функции с одним и тем же именем, все эти функции подпадают под полиморфизм.
Есть два типа полиморфизмов...
Почему и когда использовать полиморфизм?
УПРОЩЕННОЕ ЗАЯВЛЕНИЕ О ПОЛИМОРФИЗМЕ
Почему и когда использовать полиморфизм?
Объектно-ориентированное программирование или сокращенно ООП является неотъемлемой частью современной архитектуры приложений. ООП включает четыре фундаментальных понятия: ПИРОГ: абстракция, полиморфизм, наследование и инкапсуляция.
Полиморфизм состоит из двух частей: поли (множественный) и морф (форма). Согласно Wikipedia.com , полиморфизм описывается следующим образом:
В языках..
Полиморфизм Scala и классы типов
полиморфизм | ˌpɒlɪˈmɔːfɪz(ə)m |
существительное [массовое существительное] условие возникновения в нескольких различных формах: сложность и полиморфизм человеческого познания .
Полиморфизм подтипа
Это хлеб с маслом ООП
Суть полиморфизма подтипов заключается в том, что мы можем абстрагироваться от некоторых вычислений (возвращая строку) в зависимости от того, что это за объект. Cat является животным и может заменить его.
Generics — Параметрический полиморфизм в мире FP..
Вопросы по теме 'polymorphism'
Являются ли нечистые виртуальные функции с параметрами плохой практикой?
У меня есть базовый класс с дополнительной виртуальной функцией
class Base {
virtual void OnlyImplementThisSometimes(int x) {}
};
Когда я компилирую это, я получаю предупреждение о неиспользуемом параметре x. Есть ли другой способ...
4926 просмотров
schedule
22.04.2023
Как бы вы реорганизовали это условие, чтобы использовать полиморфизм?
Я только что закончил смотреть видео о чистом коде Google на YouTube (см. ссылку , первая статья) об удалении if утверждений из ваш код и вместо этого использовать полиморфизм.
После просмотра видео я просмотрел некоторый код, который я писал...
1960 просмотров
schedule
29.05.2023
Когда использовать виртуальные деструкторы?
Я хорошо разбираюсь в большинстве OOP теорий, но единственное, что меня сильно смущает, - это виртуальные деструкторы.
Я думал, что деструктор всегда вызывается независимо от того, что и для каждого объекта в цепочке.
Когда вы хотите сделать их...
754710 просмотров
schedule
25.10.2022
Полиморфизм C++ и Ruby с использованием SWIG
Я использую SWIG, чтобы обернуть сценарий Ruby вокруг библиотеки C++. В Ruby я могу наследовать от класса C++, но я не могу передать результирующий указатель на функцию C++ полиморфным образом.
Вот конкретный пример. Файл интерфейса SWIG...
2063 просмотров
schedule
25.03.2022
Проблема полиморфизма - виртуальные поля? (С#)
У меня проблема с дизайном класса.
У меня есть основной класс для моих игровых объектов. Во время рисования мне нужно получить позицию из объекта. К сожалению, объект рассматривается как базовый тип, поэтому позиция извлекается не из производного...
2258 просмотров
schedule
23.12.2022
Java: что быстрее перегружается или if/else
У меня есть дочерние классы, каждый из которых имеет разные значения вместе с другими членами. Может быть LongObject, IntObject, StringObject и т. д.
Мне будет дано значение, которое может быть long, int, string и т. д., и я должен создать...
3081 просмотров
schedule
25.05.2022
Спящий полиморфизм
Это вопрос о полиморфизме Hibnerate и вопрос о дизайне модели данных; они переплетаются. Я использовал Hibernate в прошлом, и мне это нравилось, но иногда мне трудно думать о чем-либо, кроме тривиальных проектов. Не стук в Hibernate; просто...
15699 просмотров
schedule
11.04.2023
Спящий полиморфный запрос
У меня есть два класса, Person и Company, производные от другого класса Contact. Они представлены полиморфно в двух таблицах (Person и Company). Упрощенные классы выглядят так:
public abstract class Contact {
Integer id;
public abstract...
5345 просмотров
schedule
16.07.2022
Как добавить информацию о родительском экземпляре в отношение has_many?
Я использую плагин acts as tagable on steroids , и мое веб-приложение имеет 4 модели:
Категория
Entry - acts as taggable and contains the following using single table inheritance
Story
Тема
Категория имеет два важных поля:...
163 просмотров
schedule
25.06.2023
Могу ли я создать объект из производного класса, создав базовый объект с параметром?
Другими словами, для базового класса shape и производного класса rectangle :
class shape
{
public:
enum shapeType {LINE, RECTANGLE};
shape(shapeType type);
shape(const shape &shp);
}
class rectangle : public shape
{
public:...
335 просмотров
schedule
16.08.2022
перегрузка методов и полиморфизм
Я пишу веб-приложение .NET, в котором администраторы могут настраивать различные формы ввода данных, представляемые пользователям. Существует около полудюжины различных типов полей, которые администраторы могут создавать и настраивать (например,...
3106 просмотров
schedule
27.09.2022
Ошибка при вызове функции и передаче ссылки на указатель с производным типом
Может кто-нибудь объяснить, почему следующий код недействителен? Это потому, что смещение для переменной с именем d отличается от смещения переменной с именем b ?
class Base { public: int foo; };
class Derived : public Base { public: int bar;...
4165 просмотров
schedule
05.05.2024
статический метод с полиморфизмом в С++
У меня странная проблема с использованием полиморфизма. У меня есть базовый класс, реализующий статический метод. Этот метод должен быть статическим по разным причинам. Базовый класс также имеет чисто виртуальный метод run() , который реализуется...
3892 просмотров
schedule
20.11.2022
Анализ воздействия на подкласс
Я изменял переопределенный метод подкласса. Чтобы определить влияние изменения, я перебрал все возможные сценарии и протестировал их.
Проблема в том, что «все возможные сценарии» определяются путем чтения бизнес-сценариев использования с...
126 просмотров
schedule
29.03.2022
Возврат подкласса абстрактного класса в методе абстрактного класса
У меня есть класс, в котором есть функция для извлечения дочерних элементов из базы данных. Следующий код будет довольно псевдо, потому что я хочу, чтобы он был как можно проще.
abstract class SomeHostObject extends SomeObject {
function...
785 просмотров
schedule
14.12.2022
Java: почему метод базового класса может вызывать несуществующий метод?
class BaseClass {
private void f() {
System.out.println("Baseclass f()");
}
public static void main(String[] args) {
BaseClass dc = new DerivedClass();
dc.f();
}
}
class DerivedClass extends BaseClass {...
1082 просмотров
schedule
23.05.2023
Rails — встроенный полиморфный список комментариев + форма добавления комментариев — пример?
Всем привет. Работаю над своим первым приложением на Rails.
Я искал повсюду - прочитал кучу руководств, статей и сообщений на форумах, посмотрел несколько скринкастов и нашел несколько примеров, которые близки к тому, что я пытаюсь сделать (в...
3170 просмотров
schedule
27.07.2023
Rails STI с использованием ОДНОЙ формы
У меня есть форма, которая позволяет мне добавлять в поток файлы разных форматов. Таким образом, поток состоит из множества файлов, эти файлы являются файлами XML, но в основном имеют разные схемы. У меня есть одна форма, которая позволяет...
3079 просмотров
schedule
13.02.2023
Почему компилятор С# не может следовать всем путям кода через оператор switch
Код ниже работает нормально:
ListControl lstMyControl;
if (SomeVariable == SomeEnum.Value1)
{
lstMyControl = new DropDownList();
}
else
{
lstMyControl = new RadioButtonList();
}
lstMyControl.CssClass = "SomeClass";
Принимая во...
608 просмотров
schedule
09.10.2023
Сортировка объектов и полиморфизм
Предположим, у меня есть класс А.
И B и C являются потомками A.
Класс A имеет общий алгоритм сортировки массивов типа A, так что я мог использовать его для B и C без повторного написания алгоритма для каждого.
В алгоритме иногда приходится...
1318 просмотров
schedule
24.09.2022