oop:aboutclass
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| oop:aboutclass [2023/01/14 05:06] – machiaworx | oop:aboutclass [2023/01/14 05:48] (現在) – [サンプル] machiaworx | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | クラス・オブジェクトについて | + | ====== |
| - | 資料 | + | ==== 資料 |
| https:// | https:// | ||
| 行 9: | 行 9: | ||
| https:// | https:// | ||
| - | 概要 | + | ==== 概要 |
| クラスまたはオブジェクトは、Miniscriptにおいては親を指す特別な < | クラスまたはオブジェクトは、Miniscriptにおいては親を指す特別な < | ||
| 行 17: | 行 17: | ||
| ---- | ---- | ||
| - | まずクラスというのは、ここでは「特殊なマップ変数」という扱いになります。 | + | ==== 説明 ==== |
| - | よって、mapと同様の使い方ができるということですね。 | + | 正直クラスの概念は理解が難しいので、特に使う予定が少なければ最初は読み飛ばしても大丈夫です。 |
| + | |||
| + | が、情報がないと困る(特に自分)ので、書いておきます。 | ||
| + | |||
| + | |||
| + | Miniscriptにおけるクラスは、ここでは「特殊なマップ変数」という扱いになります。 | ||
| 通常のmapと違って特殊なのは、以下の内容です。 | 通常のmapと違って特殊なのは、以下の内容です。 | ||
| * 各種変数・関数の呼び出し方が「class.変数」「class.関数」となっていること | * 各種変数・関数の呼び出し方が「class.変数」「class.関数」となっていること | ||
| - | * 「< | + | * 「< |
| - | __isaは、マップの基本クラスを参照する特別なエントリーという位置づけになっており、基準にするクラスの情報が入ってるわけですね。 | + | < |
| - | サンプルに__isaの内容を呼び出すプログラムも書いてみました。 | + | クラスから作成したインスタンスでは、この基本クラスの情報を参照して関数を呼び出したり、変数として取り扱う際の情報を参照する位置づけになります。 |
| - | サンプル | + | サンプルに< |
| - | shape={" | + | ==== サンプル ==== |
| - | square | + | |
| - | square.sides=3 | + | |
| - | square | + | |
| - | x=new square | + | |
| - | print x.sides | + | square = new shape // |
| - | + | square.sides=3 | |
| - | shape.puresq=function | + | square |
| - | return self.sides*self.sides | + | square.__isa |
| + | | ||
| + | print x.sides | ||
| + | shape.puresq=function | ||
| + | return self.sides*self.sides | ||
| end function | end function | ||
| - | print x.puresq() | + | print x.puresq() |
| - | square | + | square |
| - | square.< | + | square.__isa |
| - | + | ||
| - | サンプル説明 | + | |
| + | ==== サンプル出力 ==== | ||
| + | {{: | ||
oop/aboutclass.1673640378.txt.gz · 最終更新: 2023/01/14 05:06 by machiaworx