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