最近のアクセス:
モジュール - 文法

モジュールオブジェクトの重要な機能の 1 つは、同じ [ Name ] プロパティを使用して複数のオブジェクトを定義できる点です。これにより、特定のオブジェクトの名前が繰り返し使用される場合に、そのオブジェクトを呼び出す方法があいまいになるというデメリットが生じます。このデメリットを改善するには、[ Qualified Name ] プロパティを使用する必要があります。
次のモジュール編成の例を見てみましょう:
イメージ:22436.png
ルートモジュールに属するオブジェクトから、"ModuleD" の "ObjectC" を呼び出す場合に使用するコードは、次のとおりです:
ObjectC.Call()
しかし、あいまいさがあるため、次のエラーが表示されます:
error: 'ObjectC' is ambiguous.There is a program name with the same name.
呼び出しを行うには、次のように [ Qualified Name ] プロパティを使用してあいまいさを解消する必要があります:
ModuleA.ModuleD.ObjectC.Call()
この例の場合、"ModuleD" を追加するだけで呼び出すオブジェクトを特定できるので、次のようにコードを短くすることもできます:
ModuleD.ObjectC.Call()
これにより、あいまいさが解消され、呼び出しが意図したとおりに実行されます。
修飾されていない名前を使用する場合に適用される自動修飾ルールの詳細については、「オブジェクトの部分修飾名の解決方法」を参照してください。
2 番目のコードを使用するのは、オブジェクトの名前が繰り返し使用される場合だけです。
参考情報






サブページ
Created: 15/01/07 22:50 by Admin Last update: 21/05/21 03:34 by Admin
カテゴリ
Powered by GXwiki 3.0