↑↑↑アスペクト指向とは何か↓↓↓
■ このスレッドは過去ログ倉庫に格納されています
0358山崎 渉
NGNGこれまでのオブジェクト指向は、実装継承を型継承の下位機能と見なし、
「実装継承と型継承を一体化」する事で、概念の単純化を図ってきた。
例えば、
・ 型継承と同時に、実装継承 ・・・ クラス
・ 型継承と同時に、部分的実装継承・・・ 抽象クラス
・ 型継承のみ ・・・ インターフェース
というのはあっても、
・ 実装継承のみ
という選択肢がなかった。
アスペクト指向は、実装継承のみという選択肢を与える事で、
本来別々のものである、実装継承と型継承を明確に分離して扱う事を、
可能にした。
3. 「実装の単継承vs多重継承」 問題の解決
多重継承を、「実装継承と型継承を一体」という視点で実現する場合、
「選択的な実装多重継承」が必要になる。
しかし、型のセマンティクスと、実装のセマンティクスは異なるため、
両者を同じ視点で扱うと、混乱が生じ易かった。
上記の混乱の回避策は、「実装多重継承の排除」だった。
実装単継承の元で、実装多重継承の提供機能を実現するには、
・型の多重継承 ・・・ インターフェース
・メソッド実装の委譲
を使用する。
但し、メソッド実装の委譲は、実装レベルのコードで実現する必要があった。
アスペクト指向は、上記「メソッド実装の委譲」を、
静的に(宣言的に)取り扱う事を、可能にした。
■ このスレッドは過去ログ倉庫に格納されています