class クラス名 extends 継承元クラス {クラス名の後に「extends」というものをつけ、その後に継承元となるクラスを指定します。これで、指定のクラスを継承した新しいクラスが作られます。
……略……
}
class MyData extends MyObj { ……これで、MyObjを継承するクラスとしてMyDataが作成されます。このMyDataでは、mailというインスタンス変数があるだけですが、printDataの処理を見てみると、この他にnameとageというインスタンス変数も用意されていることがわかります。これらは、継承元であるMyObjクラスにあるため、MyDataクラスにあるものとして処理を記述できるのです。
※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
void main() { MyObj taro = new MyObj.make('Taro', 35); taro.printData(); MyData hanako = new MyData.make('Hanako', 'hanako@flower', 28); hanako.printData(); } class MyObj { String name; num age; MyObj() : this.make('noname', 0); MyObj.make(String name, num age){ this.name = name; this.age = age; } void printData(){ String re = '<MyObj "' + this.name + '"(' + this.age.toString() + ')>'; print(re); } } class MyData extends MyObj { String mail; MyData() : this.make('noname', 'no@mail', 0); MyData.make(String name, String mail, num age){ this.name = name; this.mail = mail; this.age = age; } @override void printData(){ String re = '<MyObj "' + this.name + ' [' + this.mail + '"](' + this.age.toString() + ')>'; print(re); } }
<< 前へ | 次へ >> |