class クラス名 extends スーパークラス with 追加クラス, …… {extendsで継承するクラスを指定した後に、「with」をつけ、ミックスインしたいクラスを指定します。複数ある場合はカンマで区切って記述をします。こうすると、extendsで指定したクラスを継承するのですが、その際にwithで指定したクラスの機能も混ぜて使えるようにしてくれるのです。
……略……
}
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
void main() { MyData hanako = new MyData.make('Hanako', 'hanako@flower', 28); hanako.printData(); hanako.printIt(hanako.getData()); } class MyObj { String name; String mail; num age; Map getData(){ return {'name':this.name, 'mail':this.mail, 'age':this.age}; } } class Printing { void printIt(Map data){ for (var ky in data.keys){ print(ky + ":" + data[ky].toString()); } } } class MyData extends MyObj with Printing { MyData() : this.make('noname', 'no@mail', 0); MyData.make(String name, String mail, num age){ this.name = name; this.mail = mail; this.age = age; } void printData(){ String re = '<MyObj "' + this.name + ' [' + this.mail + '"](' + this.age.toString() + ')>'; print(re); } }
<< 前へ | 次へ >> |