1

奇妙な問題があります。これは単なるクラスのコンストラクター メソッドであり、他のコードを表示する価値はありません。とにかく、このコードを見てください。

Class xy {
    public $x = 10;
    public $y = 10; 

    public function __construct($x = NULL, $y = NULL) {
        if(isset($x) || isset($y)){
            $this->x = $x;      // assign center coords
            $this->y = $y;      // assign center coords
        }
        $this->area = $this->area();
        echo $this->x . " " . $this->y . " " . $this->area;
    }

}

if(isset($x) || isset($y)){今以来、このコードでオブジェクト作成に渡されない場合、このコードは $this->x と $this->y WITHOUT をエコーするはずだと思っていましたが、$newObj = new xy;そうではありません。この行が次のようになっている場合にのみ機能し$newObj = new xy(10,10)ます。

助けと説明が必要です:)

4

2 に答える 2

0

私は何年も php を使っていませんが、$newObj = new xy(); のように見えるはずだと思います。

于 2012-10-19T10:08:24.267 に答える
0
change $newObj = xy(10,10); to $newObj = new xy(10,10);
于 2012-10-19T10:09:24.477 に答える