mylib.dart
#library('my_lib'); class A { String x; String _y; }
#import('mylib.dart'); main() { A a = new A(); // OK a.x = 'a'; // OK a._y = 'a'; // NG }メンバー変数だけではなく、メンバー関数や、トップレベルのクラス、関数、変数も同様の方法でプライベートにすることができます。
なお、この機能はライブラリ外から見えなくなるだけで、メンバーをプライベートにしても、同じライブラリ内からは別のクラスからでも参照することができます。
#library('my_lib_2'); class A { String x; String _y; } class _B {} class Test1 { void test() { A a = new A(); // OK a.x = 'a'; // OK a._y = 'a'; // OK _B b = new _B(); // OK } } class Test2 extends A { void test() { x = 'a'; // OK _y = 'a'; // OK } }
こちらもどうぞ
0 件のコメント:
コメントを投稿