【AS3】FlashDevelop【フリー】 (601レス)
上下前次1-新
155: 2009/08/15(土)15:04 ID:srGxDtlq(2/4) AAS
あと、スレが過疎なので話のネタと一つの心配事を書いとく。
ネタ: ただし誰でも知ってるような話)
良くあるAS他の説明で、「これはオブジェクト指向(以下OOと略)言語です」 って説明があるが、実はOOにも複数の流派/思想がある。
例えばダックタイピングなOO、つまり 「それがアヒルのように歩きアヒルのように鳴くなら、それはアヒルである」 って考え方。
これは例えば、C/C++ 言語で関数ポインタを使ったコールバックを想像するとわかりやすくて、つまり、
「使おうと思った時にそれが想像通りのインタフェース/インプリメンテーションになっていれば、それと見なす」 と言う物。
AS3の例)
class A {
var onLoad:Function = null;
function load(): void {
if(onLoad != null) onLoad("終了");
}
}
// var a:A = new A(); a.onLoad=function(s:String):void { trace(s); }; // "終了とトレースされる
これは関数テンプレートに従ってそれと見なしているので実行可能となるが、例えば a.onLoad = function(i:int):void ... のように記述すると
コンパイルは通るが実行時に 「型が違う」 的なエラーになる。
こういう動きを、型推論とか、ダックタイプとか、C/C++のテンプレートに倣って テンプレート指向OOとか言う
対して JavaやC#、C++のクラス機構のような 「アヒルのように歩きアヒルのように鳴いてもアヒルでないなら、それはアヒルでは無い」 という
型厳密なOOを、クラス指向OOとか言う。(続く)
上下前次1-新書関写板覧索設栞歴
あと 446 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ
ぬこの手 ぬこTOP 0.007s