Apple Developer Connection
Advanced Search
Member Login Log In | Not a Member? Contact ADC

< Previous PageNext Page >

オブジェクト指向プログラムにおける通信

Cocoaとそのオブジェクト指向言語であるObjective-CとJavaの場合、プログラム固有の動作を追加する1つの方法として、継承があります。既存のクラスのインスタンスの属性と動作を拡張、または何らかの方法で変更を加えたサブクラスを作成します。ただしプログラムを特徴付ける特殊なロジックを追加する他の方法もあります。また、Cocoaオブジェクトの機能を再利用して拡張するメカニズムもあります。

プログラム内のオブジェクトどうしの関係は、複数の次元に渡って存在しています。継承の階層構造がありますが、プログラム内のオブジェクトは、プログラムの作業を実行するために、実行時に相互に通信する必要のある他のオブジェクトのネットワークの中などに動的に存在することもあります。オーケストラの演奏者と同様に、プログラム内のオブジェクトにはそれぞれの役割、すなわちプログラムに提供する一定の範囲の動作があります。マウスのクリックに応答して楕円形のサーフェスを表示したり、オブジェクトのコレクションを管理したり、ウインドウの存続期間中の主要なイベントを調整するなどです。設計どおりのことを実行するだけで、それ以上のことはしません。しかし、その効果をプログラム内で発揮するには、各オブジェクトが他のオブジェクトと通信できなければなりません。他のオブジェクトにメッセージを送信したり、他のオブジェクトからメッセージを受信したりといったことができなければならないのです。

オブジェクトが他のオブジェクトにメッセージを送信するには、送信先のオブジェクトへの参照を持っているか、何らかの配信メカニズムが用意されている必要があります。Cocoaでは、オブジェクトが相互に通信するための多数の方法を用意しています。これらのメカニズムとテクニックは、“「Cocoaのデザインパターン」”で解説しているデザインパターンに基づいており、これにより、堅牢なアプリケーションを効率よく構築できるようになっています。デザインパターンは単純なものから若干複雑なものまでさまざまあり、サブクラス化よりも望ましい選択肢となることもしばしばあります。Interface Builderでは、それらをプログラミングによって、また時にはグラフィカルに構成できます。



< Previous PageNext Page >


Last updated: 2006-05-23




Did this document help you?
Yes: Tell us what works for you.

It’s good, but: Report typos, inaccuracies, and so forth.

It wasn’t helpful: Tell us what would have helped.
Get information on Apple products.
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Copyright © 2007 Apple Inc.
All rights reserved. | Terms of use | Privacy Notice