コードのモジュール化 – Dart逆引きリファレンス

2012.02.27

コードのモジュール化(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());
}

参考リンク