この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
コードのモジュール化(Code modularity)
ライブラリを定義したい
「#library」を用いて宣言します。(Dart Editorのライブラリビューで利用されるようです。)
animals.dart
#library('animals');
interface Animal {
noise();
}
class Cat implements Animal {
noise() => 'MEOW!';
}
class Dog implements Animal {
noise() => 'BARK!';
}
ライブラリを使用したい
「#import」でDartコードを読み込みます。
sample.dart
#import('dart:html');
#import('animals.dart');
void main() {
Animal pochi = new Dog();
window.alert(pochi.noise());
}
名前空間の衝突を避ける為に接頭辞を指定する事が可能です。
#import('dart:html');
#import('animals.dart', prefix: 'pets');
void main() {
pets.Animal pochi = new pets.Cat();
window.alert(pochi.noise());
}
単一ファイルのみを読み込みたい
単一ファイルを読み込むだけであれば「#source」が利用できます。
※対象のファイルに「#library」記述は不要です。(記述があるとエラーになります。)
animals.dart
interface Animal {
noise();
}
class Cat implements Animal {
noise() => 'MEOW!';
}
class Dog implements Animal {
noise() => 'BARK!';
}
sample.dart
#import('dart:html');
#source('animals.dart');
void main() {
Animal mike = new Cat();
window.alert(mike.noise());
}