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

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


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

А делегат — это же просто шаблон проектирования. Делегат наверно в моей среде можно сделать.
Отредактировано 17.07.2023 5:34 zelenprog . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.