2010年4月22日木曜日

オブジェクト指向概念の理解(オブジェクト、クラス、インスタンス、メソッド)

iPhoneのプログラミングは、主にC言語を拡張したオブジェクト指向言語であるObject-C, Object-C++でコーディングされます。

オブジェクト指向プログラミングにあたっては、その概念の理解が必要となります。

オブジェクト指向プログラミングにおいては、ソフトウェアが扱おうとしている現実世界に存在する物理的あるいは抽象的な実体(オブジェクト)を、属性(データ)と操作(メソッド)の集合として モデル化し、コン ピュータ上に再現します。

オブジェクトを定義するモデルはクラスと呼ばれる。クラスに基づいて実際にコン ピュータメモリ上に 展開されたオブジェクトのことをインスタンス(実体)と言うが、このインスタンスの意味でオブジェクトと呼ぶ場合も多い。

概念     コード  実行モジュール
オブジェクト ≒ クラス ≒ インスタンス

例えば「名前、身長、体重」というクラスがあるとすれば、そのインスタンスは「田中、175、65」というように作られる。一つのクラスから複数のインスタンスを作ることができ、それぞれのインスタンスは違った値を持ちうる。プログラムの中で実際に扱われるのはクラスではなく、こうして作られたインスタンスの方となる。「○○クラスに属す るインスタンス」「○○クラスのインスタンス」という表現が用いられる。

メソッドのうち、ボタンなどの操作にともない用意するメソッドを「アクションメソッド」といいます。開発者が考え実装します。

また、アプリケーションが起動したときなどに、アプリケーション固有の動作を行うオブジェクトのことを「デリゲート(Delegate、代理人)」と呼び、アプリケーションのデリゲートをとくにアプリケーションデリゲートととも言います。決められたオブジェクトを登録するのみとなります。

アプリケーションデリゲートクラスは、“Files Owner" のdelegateアウトレットと接続します。

クラスに機能を追加するという意味で、サブクラスとデリゲートは同じですが、デリゲートの方が、「場合により」外部に違う処理を依頼できる等柔軟性が高いものとなります。

0 件のコメント:

コメントを投稿