Публикации по теме 'polymorphism'
Полиморфизм с помощью TypeScript (ООП)
В сегодняшней статье я хочу поговорить о полиморфизме с TypeScript, который является одним из четырех столпов объектно-ориентированного программирования.
Что такое Полиморфизм?
Полиморфизм — это возможность создать класс, который имеет более одной формы. Или, другими словами, классы имеют одни и те же методы, но разные реализации.
Пример
Итак, прежде чем объяснять, как работает полиморфизм, я лучше покажу вам, как он не работает, на примере.
Представьте, что у нас есть два..
Кибераналогия — Наследование против полиморфизма
Забавная аналогия, которую легко объяснить. Наследование – это просто наследование, как животные (кошка, собака и т. д.) или человек (ученик, учитель и т. д.).
В то время как животные наследуют некоторые вещи, есть вариации, например, кошачье «мяуос» вместо «гавканье». поэтому полиморфизм позволяет изменять эти атрибуты/функции.
Универсальные соединения в Laravel: глубокое погружение в полиморфные отношения «один к одному»
При разработке сложных приложений вам часто приходится устанавливать различные виды отношений между вашими моделями Laravel. Eloquent ORM от Laravel, будучи надежным инструментом, предоставляет множество типов отношений для удовлетворения различных потребностей. Сегодня мы обсудим полиморфную связь «один к одному» — адаптируемый тип связи, который упрощает дочернюю модель, принадлежащую более чем одному типу модели, с помощью одной ассоциации.
Понимание полиморфных отношений один к..
Вопросы по теме 'polymorphism'
Как убедиться, что вы переопределили (скрыли) метод в производном классе на С++?
class Base {
public:
void foo() const {
std::cout << "foo const" << std::endl;
}
};
class Derived : public Base {
public:
void foo() {
std::cout << "foo"<<...
335 просмотров
schedule
11.01.2024
абстрактный класс и полиморфное использование массива
я просто читаю Мейерса "Более эффективные C++ 35 новых способов" - пункт 33, и он предлагает всегда наследовать от абстрактного базового класса, а не от конкретного.
одна из причин, по которой он утверждает, которую я не совсем понимаю, заключается...
671 просмотров
schedule
20.03.2024
Ошибка недопустимого указателя унаследованного класса при вызове виртуальных функций
Как вы можете видеть в приведенном ниже коде, у меня есть абстрактный базовый класс «HostWindow» и производный от него класс «Chrome». Все функции реализованы в Chrome. Проблема в том, что я не могу вызывать функции в Chrome, если они виртуальные....
1594 просмотров
schedule
09.11.2023
полиморфизм oop python
Я не могу понять, почему этот код:
class A(object):
def __init__(self):
self.__value = 1
def get_value(self):
return self.__value
class B(A):
def __init__(self):
A.__init__( self )
self.__value = 2
b =...
400 просмотров
schedule
30.06.2022
Java- Значение ‹T расширяет Comparable‹T››?
Полный контекст:
public class RClass<T extends Comparable<T>>
Буду ли я прав, говоря, что утверждение в заголовке означает, что аргументы, подключенные к методу, должны быть либо объектом класса, реализующего Comparable, либо...
96950 просмотров
schedule
28.05.2024
Наследование и полиморфизм AS3
скажем, я создаю пользовательскую версию DisplayObject, которая переопределяет некоторые функции, сеттеры и геттеры. Пример:
public class MyDisplayObject extends DisplayObject{
....
override public function get x():Number{
return...
2276 просмотров
schedule
13.06.2024
Многоуровневое наследование/полиморфизм и виртуальная функция
У меня есть многоуровневое наследование (от класса Ship -> класс MedicShip -> класс Medic) с кодом виртуальной функции, как показано ниже. Я полагаю, что результат должен быть:
Медик 10 Медик 10
Но это дало странный результат. С другой...
1696 просмотров
schedule
15.08.2022
Полиморфизм с сериализованными данными
Я пытаюсь использовать полиморфизм с данными, которые должны быть сериализованы и десериализованы. Однако кажется, что полиморфные свойства теряются при сериализации:
// Serialize
[System.Serializable]
public ParentClass()
{
public string...
1816 просмотров
schedule
14.06.2024
Неинициализированная константа Rails в полиморфной ассоциации
Я работаю над созданием полиморфной ассоциации номера телефона с волонтером (а позже и с другими вещами), в настоящее время я застрял со следующей ошибкой:
uninitialized constant HumanVolunteer::PrimaryPhone...
3663 просмотров
schedule
22.12.2023
Что происходит, когда объект базового класса вызывает функцию производного класса (которая не является виртуальной)
Извините, если вопрос показался вам глупым. Я новичок в С++, и я изучал полиморфизм времени рома. Я хочу знать, что происходит, когда объект базового класса вызывает функцию производного класса (которая не является виртуальной). например посмотреть...
1025 просмотров
schedule
21.11.2023
Каковы критерии для исключения исключений в подклассе
Что я знал до сих пор, так это то, что подкласс при переопределении метода суперкласса должен вызывать то же исключение или подкласс исключения.
Например:
Это правильно
class SuperClass {
public int doIt(String str, Integer......
8767 просмотров
schedule
23.03.2024
Как сделать массив с полиморфизмом в C++?
class Base1
{
private:
int testInput;
public:
Base1();
virtual int GetRow(void) = 0;
};
Base1::Base1()
{
testInput = 0;
}
class table : public Base1
{
private:
int row;
public:
table();...
11639 просмотров
schedule
08.09.2022
Полиморфизм Java, создающий объект подкласса с использованием его переменной суперкласса
Итак, я студент и изучаю Java. Есть одна концепция, которую мне трудно понять, и я надеюсь, что кто-то может пролить на нее свет. Мой вопрос касается полиморфизма. Скажем, например, у меня есть следующий код.
Animal a = new Lizard("Lizzy", 6);...
9692 просмотров
schedule
12.02.2024
Сигнатура абстрактного метода Java
Я совершенно запутался в сигнатурах абстрактных методов, которые реализуют классы Java.
Например, рассмотрим:
interface Programmer {
Object program();
}
class Linus implements Programmer {
public String program() {
return "goto...
2361 просмотров
schedule
05.08.2022
Многократная десериализация сообщения с помощью буферов протокола Google
Я работаю с чрезвычайно модульной системой. Сообщения могут быть определены по тройке src, dest, type.
Я рассматриваю возможность повторной реализации наших сообщений с помощью Protocol Buffers. Я прочитал полиморфизм буфера протокола , Как...
757 просмотров
schedule
18.10.2023
Скалярный деструктор удаления
У меня есть фрагмент кода (из DLL), который выглядит так:
class A {
public:
virtual ~A();
};
class B : public A {
public:
~B();
}
~A() {
// #1
}
~B() {
// #2
}
Когда я использую delete an_instance_of_B , я...
8920 просмотров
schedule
09.04.2024
Какой смысл говорить ‹? расширяет SomeObject› вместо ‹SomeObject›
Итак, я просматривал код Java и наткнулся на:
List<? extends SomeObject> l;
в основном этот список принимает все объекты, являющиеся каким-либо SomeObject — сам SomeObject или его наследники. Но в соответствии с полиморфизмом его...
5204 просмотров
schedule
25.08.2022
Можно ли получить доступ к членам производного класса, когда он приведен к базовому классу?
Я привел простой пример, чтобы проиллюстрировать мой вопрос. Вот базовый класс.
#include <mutex>
#include <atomic>
class Task
{
public:
Task()
{
Empty.store(true);
}
std::mutex Access;...
374 просмотров
schedule
21.08.2022
Когда мне действительно нужно использовать абстрактные методы?
Если я пишу программу, которая рисует фигуры.
abstract class GraphicObject {
abstract void draw();
abstract void resize();
}
а затем подкласс, который расширяет GraphicObject, называемый Circle.
class Circle : GraphicObject {...
112 просмотров
schedule
05.10.2023
Полиморфное отношение «многие ко многим»
Я не мог сохранить связанные модели в полиморфном отношении «многие ко многим», сохраненные в базе данных.
$photo = Photo::find(1);
$photo->articles()->attach(2);
что-то вроде этого не будет работать и дает
ошибка: вызов...
3445 просмотров
schedule
07.04.2024