powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Обязательное переопределение метода в дочернем классе
4 сообщений из 4, страница 1 из 1
Обязательное переопределение метода в дочернем классе
    #37360428
Vixler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно, сабж. Можно ли в каше в базовом классе написать метод, который обязательно нужно будет определить в производных (иначе ошибка компиляции)?
...
Рейтинг: 0 / 0
Обязательное переопределение метода в дочернем классе
    #37360438
Turk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vixler,
1) Abstract
Ругаться будет не при компиляции, а при выполнении.
2) Если нужно все-таки, чтобы Cache ругался при компиляции, то можно написать свой метод-генератор на компиляцию, где проверять в %Dictionary.ClassDefinition (и %Dictionary.MethodDefinition) существование нужного метода.
...
Рейтинг: 0 / 0
Обязательное переопределение метода в дочернем классе
    #37360451
Vixler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> можно написать свой метод-генератор на компиляцию

эмм... А можно поподробнее? Это перехватить какое-то событие? Что-то не вижу в документации подходящих.
...
Рейтинг: 0 / 0
Обязательное переопределение метода в дочернем классе
    #37361041
Turk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vixler,
Method Generators
В Вашем случае будет что-то вроде такого кода:
Код: plaintext
1.
2.
3.
4.
5.
6.
ClassMethod CheckMethod() [ CodeMode = objectgenerator ]
{
	s methodName = "MyMethod"
	q:(%class.Methods.FindObjectId(%class.Name_"||"_methodName) = "") $$$ERROR($$$MethodDoesNotExist,methodName)
	q $$$OK
}
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Обязательное переопределение метода в дочернем классе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]