2012-03-04 44 views
7

所以在PHP中,你沒有在第一類像Java定義字段,是正確的?PHP在飛行中添加字段,不將它們定義第一

在Java中,你不能說

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是loosey鵝:)

此技術名稱是「超載」。這裏是文檔: http://php.net/manual/en/language.oop5.overloading.php

+2

+1我會補充說,只是因爲你不是***要求***初始化屬性並不意味着它不是一個好主意。 – rdlowrey 2012-03-04 05:29:06

+0

除非您正在設置接口類,否則我完全同意。 – 2012-03-04 05:31:15

+1

*「的接口類」 * ...您的措辭有點混亂......一個實際的接口不能包含成員變量,如果你嘗試將產生E_FATAL錯誤。對不起,你討論它...答案是好的:) – rdlowrey 2012-03-04 05:34:27

相關問題