ようこそ!逆襲のニートブログへ

ブログ内検索

最近の記事

はてなブックマーク数

この日記のはてなブックマーク数

カテゴリー

月別アーカイブ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

クラスと関数・変数の違い

「独習PHP」という本に、クラスについて分かりやすい説明がありました。

独習PHP 独習PHP
山田 祥寛 (2006/01/24)
翔泳社
この商品の詳細を見る


クラスと関数、変数(P.96)

 もっとも、「クラスとは関数の集合体である」と言ってしまうと、さすがに単純化も行きすぎでしょう。最初のイメージとしてはそれでも十分なのですが、今後、オブジェクト指向を本格的に学んでいく上では、もう少し正確なイメージを持っておく必要があります。


 クラスと関数の違いは、データの持ち方という観点から眺めてみると明らかです。
 関数は与えられた入力(引数)に対して、処理結果を戻り値として出力するだけのしくみです。つまり、データはただ関数を「通過」していくだけで、その中に留まることはありません。
 しかし、クラス/オブジェクトは自分自身の中にデータを格納することができます。処理前、あるいは、処理後のデータを保持しておき、必要に応じて利用することができます。
 つまり、クラス/オブジェクトと関数、そして、変数とを比較してみると、表3.1のようになります。


表3.1 クラス/オブジェクト、関数、変数の違い

 データを保持データを処理
変数×
関数×
クラス/オブジェクト



クラスの仕組みを説明するとき、以下の点を明確にすると分かりやすいと思いました。

・クラスと関数を比較する
・データの持ち方を基準にする
・関数はデータを保持できない。
・クラスはデータを保持できる。

この違いを理解すると、プロシージャ指向(手続き型)からオブジェクト指向の仕組みにスムーズに移行できるんじゃないかな?

本の筆者、山田祥寛さんのサイト
http://www.wings.msn.to/
関連記事

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURL:
http://gooddays1.blog37.fc2.com/tb.php/325-07a9e053

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。