站長資訊網
        最全最豐富的資訊網站

        php構造方法和java構造方法有什么區別

        區別:1、重寫子類構造函數時,PHP不調用父類,而java默認在第一個語句前調用父類構造方法;2、Java允許有多個構造方法,而PHP值允許有一個構造方法;3、Java中的構造方法是必須的,而PHP中的不是。

        php構造方法和java構造方法有什么區別

        本文操作環境:Windows10系統、PHP7.1版、Dell G3電腦。

        php構造方法和java構造方法有什么區別

        早期的PHP是沒有面向對象功能的,但是隨著PHP發展,從PHP4開始,也加入了面向對象。PHP的面向對象語法是從JAVA演化而來,很多地方類似,但是又發展出自己的特色。以構造函數來說,PHP4中與類同名的函數就被視為構造函數(與JAVA一樣),但是PHP5中已經不推薦這種寫法了,推薦用__construct來作為構造函數的名稱。

        1.重寫子類構造函數的時候,PHP會不調用父類,JAVA默認在第一個語句前調用父類構造函數

        JAVA

        class Father{     public Father(){         System.out.println("this is fahter");     } } class Child extends Father{     public Child(){         System.out.println("this is Child");     } } public class Test {     public static void main(String[] args){         Child c = new Child();     } }

        輸出結果:

        this is fahter

        this is Child

        <?php class Father{     public function __construct(){         echo "正在調用Father";     } } class Child extends Father{     public function __construct(){         echo "正在調用Child";     } } $c = new Child();

        輸出結果:

        正在調用Child

        2.重載的實現方式

        JAVA允許有多個構造函數,參數的類型和順序各不相同。PHP只允許有一個構造函數,但是允許有默認參數,無法實現重載,但是可以模擬重載效果。

        JAVA代碼

        class Car{     private String _color;     //設置兩個構造函數,一個需要參數一個不需要參數     public Car(String color){         this._color = color;     }          public Car(){         this._color = "red";     }          public String getCarColor(){         return this._color;     } } public class TestCar {     public static void main(String[] args){         Car c1 = new Car();         System.out.println(c1.getCarColor());         //打印red                  Car c2 = new Car("black");         System.out.println(c2.getCarColor());         //打印black     } }

        PHP代碼

        <?php class Car{     private $_color;     //構造函數帶上默認參數     public function __construct($color="red"){         $this->_color = $color;     }     public function getCarColor(){         return $this->_color;     } } $c1 = new Car(); echo $c1->getCarColor(); //red $c2 = new Car('black'); echo $c2->getCarColor(); //black

        3.JAVA中構造函數是必須的,如果沒有構造函數,編譯器會自動加上,PHP中則不會。

        4.JAVA中父類的構造函數必須在第一句被調用,PHP的話沒有這個限制,甚至可以在構造函數最后一句后再調用。

        5.可以通過this()調用另一個構造函數,PHP沒有類似功能。

        class Pen{     private String _color;     public Pen(){              this("red");//必須放在第一行     }          public Pen(String color){         this._color = color;     } }

        推薦學習:《PHP視頻教程》

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 久久夜色精品国产噜噜麻豆| 国产精品免费观看| 国产人妖乱国产精品人妖| 国内精品视频在线观看| 国产短视频精品一区二区三区| 亚洲国产av无码精品| 四虎永久在线精品884aa下载| 久久棈精品久久久久久噜噜| 欧美日韩成人精品久久久免费看| www夜片内射视频日韩精品成人| 国产国拍亚洲精品mv在线观看 | 欧洲精品久久久av无码电影| 精品无码久久久久久久动漫| 亚洲国产精品自在线一区二区| 国产精品天干天干综合网| 亚洲中文久久精品无码| 亚洲AV永久无码精品一区二区国产 | 国产亚洲综合成人91精品| 日韩精品无码免费一区二区三区| 欧美精品在线免费| 精品久久久久中文字幕一区| 97精品在线播放| 亚洲国产精品久久久久网站| 久久精品国产精品青草app| 国产精品黄网站| 国产成人亚洲合集青青草原精品| japanese乱人伦精品| 99国产欧美精品久久久蜜芽| 精品久久8x国产免费观看| 免费精品无码AV片在线观看| 少妇人妻偷人精品无码视频新浪 | 国产成人精品久久一区二区三区av | 无码人妻一区二区三区精品视频 | 精品国产日韩亚洲一区| 国产欧美精品专区一区二区| 99久久国产综合精品五月天喷水| 亚洲精品自产拍在线观看动漫| 久久久久久久99精品免费观看| 久久精品国产一区二区三区日韩| 国产一成人精品福利网站| 久久精品免费观看|