Вы не можете напрямую получить доступ к частному имени из другой библиотеки, и у Dart нет записи о конфиденциальности, соответствующей «защищенному» (доступ из подклассов).
Вы должны либо сделать свойство общедоступным, объявитьдва класса в одной библиотеке, или нет доступа к свойству из подкласса. Других вариантов нет.
Если ваша единственная проблема - инициализация переменной экземпляра, то вы, возможно, могли бы передать значение переменной в качестве аргумента конструктора суперклассу, тем самым имея суперклассдоступ к переменной для вас:
class MyClass1 {
double _myPrivateVar;
MyClass1([double myPrivateValue]) : _myPrivateVar = myPrivateValue;
}
// In different library:
class MyClass2 extends MyClass1 {
MyClass2(double myVar) : super(myVar);
}
Это не поможет вам прочитайте личную переменную позже, это все еще только суперкласс и другой код в той же библиотеке, который может получить доступпеременная.