|
![]() |
#1 |
Участник
|
Если я правильно понял, о чем речь
Class_1 - Method_1 Class_1_1 - Method_1 (super()) Class_1_1_1 - Method_1 (super()) Переименовываем в базовом классе Class_1 метод Method_1 в Method_2 С точки зрения Axapta произошло следующее Class_1 1. Удалили метод Method_1 2. Создали метод Method_2 Class_1_1 1. В существующем методе Method_1 указан super(), но в родителе Class_1 метода Method_1 уже нет - ошибка Class_1_1_1 1. В существующем методе Method_1 указан super(). В классе-родителе Class_1_1 метод с именем Method_1 существует - ошибки нет Но! Тут есть "тонкость". В классе-родителе Class_1_1 метод Method_1 содержит ошибку. А вот как интерпретировать факт наличия/отсутствия метода в классе-родителе, если он содержит ошибку - вопрос не однозначный. Скорее всего, любая модификация класса Class_1_1_1 (например, изменение регистра в названии класса) приведет к перезапросу интерфейса класса-родителя. И хотя физически метод Method_1 в классе-родителе есть, но он содержит ошибку. Значит, обращение к нему в super() также будет ошибкой. Т.е. некая логика во всем этом есть. PS: Честно говоря, не вижу проблемы. Ведь Class_1_1 все-равно придется поправить. И после правки, уже гарантировано будет ошибка в Class_1_1_1
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
![]() |
#2 |
Участник
|
Владимир, здравствуйте.
Всё тривиальнее. В Вашей интерпретации ошибка: Class_1_1_1 наследуется от Class_1, а Class_1_1 - брат/сестра. Проблематика в том, что инкрементная компиляция смотрит на регистры символов (выявлено эмпирическим путём). Если в цепочке наследования встречается класс с аналогичным набором символов, компиляция пропускает вывод информации по имеющему большее количество символов классу. Т.е. ClassCaCa extends ClassCa ClassCaCaco extends ClassCa // Здесь компилятор не отобразит ошибку Но заменив регистр в наименовании класса ошибки не возникнет: ClassCaCaCo extends ClassCa // Здесь компилятор отобразит ошибку Последний раз редактировалось Товарищ ♂uatr; 21.04.2025 в 16:17. |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|