









[blog]
[ML]
[todo]
[CVS]
[bug]
[apache log]
[swiki log]
[statistics]
[map]
[man]
[info]
[アンテナ]
Eiffel
Mayer教授が設計したオブジェクト指向言語。Rubyは、このEiffelからも影響
を受けているとかいないとか?


Eiffelの型
- INTEGER, BOOLEAN, CHARCTER, REALの4種類の"単純な型(Simple Types)"を持つ。
- Eiffelでは、Simple Types以外は、参照型となる。
- 宣言は、識別子: 型名 で行う。

Eiffelのコメント
- コメントは、ハイフンを2つ以上つなげる – コメント (Adaもこんなんだっけ?)

変数アクセス

Eiffelのクラス
- Eiffelでは、インスタンス変数を attributeといい、feature句で定義する。
- インスタンスの生成は、Createメソッドを使う。(例:b.Create)
- 逆に、変数からインスタンスを切り離すためには、Forgetメソッドを使う(例:b.Forget)
- これは、オブジェクトを破棄することとは異なる。オブジェクトを参照している変数に対して、参照先をvoidにすることを意味する。仮に、切り離しによって、切り離されたオブジェクトが、誰からも参照されなければ、結果的にオブジェクトがGCで破棄される。
- export句で指定したものは、情報隠蔽されない

Eiffelのメソッド
- そもそもメソッドとよばず、ルーチンと呼んでいるっぽい
- Eiffelでは、オブジェクトの状態を変化させ、復帰値を持たないものをプロシージャ、復帰値を持つが、オブジェクトの状態を変化させないものをファンクションと呼ぶ。
- メソッドの使用は、ドットで(Java, C++と同じく b.getvalみたく)
- メソッド内の局所変数定義は、local句で行う。

ということでサンプル
class EiffelSample export
x, y, Swap
feature
x, y : INTEGER;
Swap() is
do
y:=x
end;
end

Eiffelの契約によるプログラミング

関連サイト

Links to this Page
- プログラミング言語 last edited on 26 September 2007 at 12:06 am
- Java last edited on 13 May 2002 at 12:21 pm
- オブジェクト指向狂詩曲 last edited on 30 November 2001 at 11:44 am
- 書評:オブジェクト指向入門 last edited on 19 April 2003 at 4:28 pm
- 契約によるプログラミング last edited on 22 November 2001 at 1:06 pm
- 書評:Eiffel last edited on 19 April 2003 at 4:27 pm
- Eiffel:The Language last edited on 19 December 2001 at 12:34 pm
- 不変表明 last edited on 8 October 2002 at 12:03 pm