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);
}
}
| << 前へ | 次へ >> |