Скажем, классы A1, A2, ..., An все расширяют абстрактный класс B. Я бы хотел, чтобы у A1, ..., An была функция, возвращающая строку имени класса. Это, конечно, известно во время компиляции, но я хотел бы реализовать эту функцию в B и используйте наследование, чтобы все Ai: s получили эту функциональность.
В java это можно легко сделать, позволив B более или менее иметь метод
String getName() {
return this.getClass();
}
. Итак, как мне сделать это в D? Кроме того, есть ли способ, используя черты или что-то подобное, определить, какие члены класса являются общедоступными?