taro.name = 'Taro';インスタンス変数であるnameやageに値を代入しています。taroとhanakoのそれぞれについて操作を行っているのがわかるでしょう。
taro.age = 35;
hanako.name = 'Hanako';
hanako.age = 28;
taro.printData();これが、printDataメソッドを呼び出している部分です。これで、taroとhanakoについてそれぞれprintDataが実行されます。実際に実行した結果を見ると、こんな具合に表示されているはずです。
hanako.printData();
<MyObj "Taro"(35)>taroとhanakoのそれぞれのインスタンスの内容を表示されているのがわかるでしょう。「クラスをもとにインスタンスを作る」というやり方をなぜするのか、これでわかります。このやり方なら、クラスからインスタンスを無限に作成できるのです。MyObjクラスがあれば、それを元にいくらでもMyObjインスタンスを作って操作できます。作成したインスタンスの中にはそれぞれインスタンス変数があり、それぞれに値を保管できます。
<MyObj "Hanako"(28)>
String re = '<MyObj "' + this.name + '"(' + this.age.toString() + ')>'ここでは、nameとageの値を利用するのに、「this.name」「this.age」といった書き方をしています。この「this」というのは何か? これは、「このインスタンス自身」を示す値なのです。※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
void main() {
MyObj taro = new MyObj();
taro.name = 'Taro';
taro.age = 35;
taro.printData();
MyObj hanako = new MyObj();
hanako.name = 'Hanako';
hanako.age = 28;
hanako.printData();
}
class MyObj {
String name;
num age;
void printData(){
String re = '<MyObj "' + this.name + '"(' + this.age.toString() + ')>';
print(re);
}
}
| << 前へ | 次へ >> |