2012-03-04 8 views
7

phpでは、javaのように最初にクラスのフィールドを定義する必要はありませんか? Javaでphpフィールドを最初に定義することなくオンザフライで追加する

あなたは

public class javac { 
    int x; 
    int y; 
    public javaC() { 
    this.z = 3; 
    } 
} 

を言うことはできませんが、PHPで、あなたはそれを言うことができますか?

class phpC { 
$x; 
$y; 

public phpC() { 
    $this->z = "omg"; 
} 
    } 

これに関するphpのドキュメントは何ですか?そのような動作の正しい用語は何ですか、私はそれを飛行機にフィールドを追加すると考えていないと思います。

答えて

6

あなたは正しいです。PHPの初期化されていないプロパティに値を割り当てることができます。 Javaは厳密で、PHPはぎこちないです。

技術名称は「オーバーロード」です。ここにドキュメントがあります: http://php.net/manual/en/language.oop5.overloading.php

+2

+1プロパティが初期化されている必要はありません***という理由だけで追加しますが、それは良い考えではありません。 – rdlowrey

+0

インターフェイスクラスを設定している場合を除いて、私はもっと同意できませんでした。 –

+1

* "インターフェイスクラス" * ...あなたの言い回しはちょっと混乱します...実際のインターフェイスはメンバ変数を含むことができませんし、試してみるとE_FATALエラーを生成します。申し訳ありませんが、あなたはそれについて悩まされています...答えはきれいです:) – rdlowrey

関連する問題