Чтобы избежать некоторых недоразумений, я знаю, что Google Dart обрабатывает вещи на уровне библиотеки и что частные свойства и методы можно идентифицировать с помощью префикса подчеркивания.Google Dart видимость методов и свойств
Является ли это еще актуальным с 2017 года? Существуют ли какие-либо планы по добавлению ключевых слов на уровне объектов, таких как: частный, защищенный или открытый?
Я просто не хочу делать что-то случайное, но я скорее заинтересован в лучших практиках. Я вижу это: если я не хочу, чтобы класс один видел, что второй класс, то оба должны быть в разных библиотеках, тогда эти библиотеки являются частью более крупного пакета.
библиотеки = приватность между классами пакетов = приватность между файлами
насчет мелкозернистого контроля конфиденциальности? Я имею в виду, может быть, есть одна вещь, которую я хочу частным. Как использовать видимость при использовании наследования? Я имею в виду, что защищенные ключевые слова могут быть действительно ценными.
Вот небольшой пример в одном файле:
class one {
int n = 1;
one() {
var test = new two(n);
print(test.showNumber());
}
}
class two {
int n = 2;
two(n) {
this.n += n;
}
int showNumber() {
return n;
}
}
Как она стоит сейчас, оба класса могут делать то, что они хотят.
Считаете ли вы, что их решение избежать этих ключевых слов является хорошим или плохим? Я думал, они добавили бы их в Сильный режим. – Asperger
Я не знаю, было ли это преднамеренное решение. Это может быть вызвано тем, как Dart загружает библиотеки (например, из URL-адресов HTTP). На самом деле я пропустил защищенный и пакетный личный, но я отлично разбираюсь в аналитической поддержке, чтобы получать уведомления о нарушениях IDE, но без принудительного исполнения во время выполнения. Я уверен, что они улучшатся здесь, когда завершится переход к сильному режиму и Dart 2.0. –
Я думал, что они уже выпустили сильный режим. Никогда не слышал о планах дартс 2.0. Поскольку im im dart находится в 1.19 http://news.dartlang.org/ – Asperger