「クラス」の版間の差分

提供:AB開発Wiki
ナビゲーションに移動検索に移動
編集の要約なし
 
(+Category:言語仕様)
 
(2人の利用者による、間の2版が非表示)
1行目: 1行目:
クラスとはオブジェクトの雛形のことを言います。
ABで管理するオブジェクトの機能のすべてはクラスで定義します。クラスはカプセル化、継承、抽象化などオブジェクト指向的なプログラミングを可能にしています。
 
また、ABのすべてのクラスはObjectクラスの派生クラスです。
 
クラス型変数(即ちオブジェクト)はすべて参照型として扱われ、インスタンスはヒープ領域に存在します。クラスの内部構造はブラックボックスであり、データ配置の方法はコンパイラに依存します(これに対し、[[構造体]]はビットフィールドレベルで低レベルAPIと互換性を持ちます)。


== クラスの定義 ==
== クラスの定義 ==


  Class ''ClassName''
  '''Class''' ''ClassName''
     ''Members''
     ''Members''
  End Class
  '''End Class'''


=== 項目 ===
=== 項目 ===
 
;ClassName
''ClassName''
:クラス名を指定します。
: クラス名を指定します。
;Members
 
:クラスの構成要素を記述します。構成要素は下記のとおりです。
''Members''
: クラスの構成要素を記述します。構成要素は下記のとおりです。
:: ・基底クラス
:: ・基底クラス
:: ・インターフェイス
:: ・インタフェース
:: ・コンストラクタ
:: ・コンストラクタ
:: ・デストラクタ
:: ・デストラクタ
:: ・静的メンバ
:: ・クラスデータメンバ(静的メンバ)
:: ・動的メンバ
:: ・インスタンスデータメンバ
:: ・静的メソッド
:: ・クラスメソッド(静的メソッド)
:: ・動的メソッド
:: ・インスタンスメソッド
: ABでは動的メソッドの書き方によって下記の言語機能を表現できます。この際、専用のステートメントや修飾子は必要ありません。
ABでは動的メソッドの書き方によって下記の言語機能を表現できます。この際、専用のステートメントや修飾子は必要ありません。
:: ・インデクサ
*インデクサ
:: ・プロパティ
*プロパティ
 


== メンバの定義 ==
== メンバの定義 ==
49行目: 50行目:


== New/Delete ==
== New/Delete ==
[[Category:言語仕様|くらす]]

2007年8月6日 (月) 02:38時点における最新版

ABで管理するオブジェクトの機能のすべてはクラスで定義します。クラスはカプセル化、継承、抽象化などオブジェクト指向的なプログラミングを可能にしています。

また、ABのすべてのクラスはObjectクラスの派生クラスです。

クラス型変数(即ちオブジェクト)はすべて参照型として扱われ、インスタンスはヒープ領域に存在します。クラスの内部構造はブラックボックスであり、データ配置の方法はコンパイラに依存します(これに対し、構造体はビットフィールドレベルで低レベルAPIと互換性を持ちます)。

クラスの定義

Class ClassName
    Members
End Class

項目

ClassName
クラス名を指定します。
Members
クラスの構成要素を記述します。構成要素は下記のとおりです。
・基底クラス
・インタフェース
・コンストラクタ
・デストラクタ
・クラスデータメンバ(静的メンバ)
・インスタンスデータメンバ
・クラスメソッド(静的メソッド)
・インスタンスメソッド

ABでは動的メソッドの書き方によって下記の言語機能を表現できます。この際、専用のステートメントや修飾子は必要ありません。

  • インデクサ
  • プロパティ

メンバの定義

メソッドの定義

コンストラクタ・デストラクタ

アクセシビリティ

継承

仮想関数

抽象クラス・抽象メソッド

New/Delete