Информация об изменениях

Сообщение Re[5]: Чем заменить виртуальные функции? от 14.07.2023 16:32

Изменено 17.07.2023 5:34 zelenprog

Re[5]: Чем заменить виртуальные функции?
G>>https://www.wikiwand.com/en/Composition_over_inheritance

bnk>А можно еще чуть подробнее (с учетом, что абстрактных классов, делегатов и интерфейсов, тоже, видимо, нет)?


Да, абстрактных классов и интерфейсов нету.
Но без них можно обойтись, так как строгой типизации нету. Это скриптовый язык.
Будет просто переменная, в которой хранится ссылка (указатель) на конечный объект.

А делегат — это же просто шаблон проектирования. Делегат наверно в моей среде можно сделать.
Re[5]: Чем заменить виртуальные функции?
G>>https://www.wikiwand.com/en/Composition_over_inheritance

bnk>А можно еще чуть подробнее (с учетом, что абстрактных классов, делегатов и интерфейсов, тоже, видимо, нет)?


Да, абстрактных классов и интерфейсов нету.
Но без них можно обойтись, так как строгой типизации нету. Это скриптовый язык.
Будет просто переменная, в которой хранится ссылка (указатель) на объект типа "базовый".
Точнее, эта "переменная" — это this. То есть в методе базового класса через this вызывается виртуальная функция. Нужно чтобы произошел вызов "реальной" переопределенной в потомке функции.

А делегат — это же просто шаблон проектирования. Делегат наверно в моей среде можно сделать.