Hatena::ブログ(Diary)

新言語 Xtalを作る日記

2006-10-02 メソッドの追加 このエントリーを含むブックマーク

classやmoduleの定義後にメソッドを追加することも可能です。

 // Carクラスにstopメソッドを追加定義
 Car::stop : method(){
   this.velocity = 0;
 }

 car : Car();
 car.step_on_accelerator(100);
 car.stop();
 println(car.velocity); // 0

これには注意しないといけないことがあります。

  • 既に定義されているメソッドをもう一度定義しようとするとエラーになる
  • つまりメソッドの置き換えは出来ない
  • インスタンス変数に直接アクセスすることは出来ない
  • メソッドもthis.と明示しないと呼ぶことは出来ない
Connection: close