ユーザ用ツール

サイト用ツール


oop:aboutclass

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
oop:aboutclass [2023/01/14 05:19] – [説明] machiaworxoop:aboutclass [2023/01/14 05:48] (現在) – [サンプル] machiaworx
行 29: 行 29:
  
   * 各種変数・関数の呼び出し方が「class.変数」「class.関数」となっていること   * 各種変数・関数の呼び出し方が「class.変数」「class.関数」となっていること
-  * 「<nowiki>__isa</nowiki>」というーが存在していること+  * 「<nowiki>__isa</nowiki>」というエントリーが存在していること
  
 <nowiki>__isa</nowiki>は、マップの基本クラスを参照する特別なエントリーという位置づけになっております。 <nowiki>__isa</nowiki>は、マップの基本クラスを参照する特別なエントリーという位置づけになっております。
行 39: 行 39:
 ==== サンプル ==== ==== サンプル ====
  
-  shape={"sides":0} +  shape={"sides":0}      //クラスが持ってる変数の定義。(マップとして定義する) 
-  square = new shape +  square = new shape     //先程定義した変数をクラスと見てインスタンスを作成 
-  square.sides=3 +  square.sides=3         //作成したインスタンスのメンバ変数を書き換え 
-  square +  square                 //インスタンスの情報を表示 
-  x=new square +  square.__isa           //__isaエントリを確認。今のところメンバ変数sidesのみ記載 
-  print x.sides +  x=new square           //さっき作ったインスタンスをクラスと見てインスタンスを作成(継承の取り扱い) 
-  shape.puresq=function +  print x.sides          //継承したインスタンスのメンバ変数を表示 
-    return self.sides*self.sides+  shape.puresq=function  //メソッド(関数)の定義。言ってしまうと「クラスを作ってしまった後から」クラスに追記することになる 
 +    return self.sides*self.sides    //sidesというメンバ変数の二乗を返す
   end function   end function
-  print x.puresq() +  print x.puresq()       //作成したメソッドをインスタンスから呼び出し 
-  square +  square                 //インスタンスの情報を表示(見かけ変わってないですね) 
-  square.__isa+  square.__isa           //__isaにはクラスの情報が書かれている。ここでpuresqメソッドが加わっていることを確認
  
-==== サンプル説明 ====+==== サンプル出力 ====
  
 {{:oop:20230114_output.png|}} {{:oop:20230114_output.png|}}
- 
  
oop/aboutclass.1673641168.txt.gz · 最終更新: 2023/01/14 05:19 by machiaworx