「クラス」の版間の差分
提供:AB開発Wiki
ナビゲーションに移動検索に移動
(→クラスの定義) |
細 (+Category:言語仕様) |
||
(他の1人の利用者による、間の1版が非表示) | |||
1行目: | 1行目: | ||
ABで管理するオブジェクトの機能のすべてはクラスで定義します。クラスはカプセル化、継承、抽象化などオブジェクト指向的なプログラミングを可能にしています。 | |||
また、ABのすべてのクラスはObjectクラスの派生クラスです。 | |||
クラス型変数(即ちオブジェクト)はすべて参照型として扱われ、インスタンスはヒープ領域に存在します。クラスの内部構造はブラックボックスであり、データ配置の方法はコンパイラに依存します(これに対し、[[構造体]]はビットフィールドレベルで低レベルAPIと互換性を持ちます)。 | |||
== クラスの定義 == | == クラスの定義 == | ||
8行目: | 12行目: | ||
=== 項目 === | === 項目 === | ||
;ClassName | |||
:クラス名を指定します。 | |||
: クラス名を指定します。 | ;Members | ||
:クラスの構成要素を記述します。構成要素は下記のとおりです。 | |||
: クラスの構成要素を記述します。構成要素は下記のとおりです。 | |||
:: ・基底クラス | :: ・基底クラス | ||
:: | :: ・インタフェース | ||
:: ・コンストラクタ | :: ・コンストラクタ | ||
:: ・デストラクタ | :: ・デストラクタ | ||
:: | :: ・クラスデータメンバ(静的メンバ) | ||
:: | :: ・インスタンスデータメンバ | ||
:: | :: ・クラスメソッド(静的メソッド) | ||
:: | :: ・インスタンスメソッド | ||
ABでは動的メソッドの書き方によって下記の言語機能を表現できます。この際、専用のステートメントや修飾子は必要ありません。 | |||
*インデクサ | |||
*プロパティ | |||
== メンバの定義 == | == メンバの定義 == | ||
48行目: | 50行目: | ||
== New/Delete == | == New/Delete == | ||
[[Category:言語仕様|くらす]] |
2007年8月6日 (月) 02:38時点における最新版
ABで管理するオブジェクトの機能のすべてはクラスで定義します。クラスはカプセル化、継承、抽象化などオブジェクト指向的なプログラミングを可能にしています。
また、ABのすべてのクラスはObjectクラスの派生クラスです。
クラス型変数(即ちオブジェクト)はすべて参照型として扱われ、インスタンスはヒープ領域に存在します。クラスの内部構造はブラックボックスであり、データ配置の方法はコンパイラに依存します(これに対し、構造体はビットフィールドレベルで低レベルAPIと互換性を持ちます)。
クラスの定義
Class ClassName Members End Class
項目
- ClassName
- クラス名を指定します。
- Members
- クラスの構成要素を記述します。構成要素は下記のとおりです。
- ・基底クラス
- ・インタフェース
- ・コンストラクタ
- ・デストラクタ
- ・クラスデータメンバ(静的メンバ)
- ・インスタンスデータメンバ
- ・クラスメソッド(静的メソッド)
- ・インスタンスメソッド
ABでは動的メソッドの書き方によって下記の言語機能を表現できます。この際、専用のステートメントや修飾子は必要ありません。
- インデクサ
- プロパティ