人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHP4のクラスについての質問です。

オブジェクトを生成する際に、

$obj =& new hogeClass;

みたいに、参照渡しになっているスクリプトをよく見るのですが、
なぜ参照渡しにしているわかりません。
参照渡しにすべきケースや参照渡しにするメリットなどをご教授ください。

●質問者: masashi0316
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:オブジェクト クラス スクリプト メリット 教授
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● b-wind
●100ポイント ベストアンサー

むしろ参照渡しにしない場合のデメリットを考えた方がわかりやすいかも。


  1. 値のコピーになるのでメモリ使用量が大きくなる。
  2. オブジェクトの状態を変更するメソッドを読んでも変更されるのは常にコピーなので、オブジェクト指向的に問題アリ。
  3. デストラクタあたりでリソースの解放を行っている場合(DBの接続とか)別のコピーが開放してしまっていることで不具合が起こる可能性がある。

「オブジェクトの生成」時点に限定するなら2番は関係ないですが。

◎質問者からの返答

ありがとうございます。

納得しました。


2 ● KUROX
●50ポイント

http://www.atmarkit.co.jp/flinux/special/php5/php5b.html

Javaではシンプル変数は値渡し、オブジェクト、配列は参照渡し

です。

◎質問者からの返答

ありがとうございます。


3 ● GEN111
●50ポイント

PHP: コンストラクタの内部での参照 - Manual

ここらへんですかね。

◎質問者からの返答

ありがとうございます。

いままで、一連の処理中に複数回プロパティを変更したりってなことをしてなかったからうまくいってたんだ。。

お三方ともありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ