ホームページ > バックエンド開発 > PHPチュートリアル > 実現と非実現の違いは何ですか?

実現と非実現の違いは何ですか?

WBOY
リリース: 2016-06-23 14:14:56
オリジナル
970 人が閲覧しました

function __construct() この初期化関数の実際の機能は何ですか?負の値の記述が 1 つ減っただけですか?
関数を初期化した後、次のように値を渡すことができます:
$pc=new MyPC("This is a class,", "It's Really a class-->");
関数が初期化されていない場合は、次のようにします。このように値を渡す必要がありますか?
$pc->name="Hello,";//クラスでは、初期化 (__construct) にはここに値は必要ありません

class MyPC{	public $name;	public $type;	function __construct($name="",$type=""){		$this->name=$name;		$this->type=$type;	} function vod(){		return $this->name.$this->type."测试数据";	}	function __destruct(){	}}$pc=new MyPC("这个是类哦,","真的是类哦-->");#$pc->name="你好,";//在类里面,初始化了(__construct)这里就可以不用附值echo $pc->vod();
ログイン後にコピー


ディスカッションに返信 (解決策)

__construct コンストラクター
ある場合クラスがインスタンス化されるときに呼び出されるため、クラスがインスタンス化されるときに php の動作に干渉する可能性があります


あなたの思考は混乱しており、基本を理解していません。
__construct は、データベースへの接続など、よく使用されるオブジェクト属性の割り当てなどの初期作業を行うのに役立ちます

関数を初期化した後、次のように値を渡すことができます:
$pc=new MyPC("This is a class ,"," それは実際にはクラスです -->");
あなたの書き方は再帰的です。オブジェクトは初期化されるときにオブジェクト化され、同時にコンストラクターをトリガーして、連続ループで再度オブジェクト化されます。 。同時に、それはあまり意味がありません。

一般に、他のクラスはクラス内でインスタンス化され、自分のクラスはインスタンス化されません。オブジェクトを使用する必要がある場合は、$this にする必要があります

ご回答ありがとうございます。少しは理解できましたが、よくわかりません。 PHP を学び始めたばかりですが、もっと簡単に理解してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート