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

        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號
        主站蜘蛛池模板: 欧美精品在线一区| 欧美日韩国产中文精品字幕自在自线 | 欧美久久久久久午夜精品| 老司机69精品成免费视频| 欧美性videos高清精品| 久久久久久亚洲精品不卡 | 精品日韩欧美国产| 亚洲国产精品自在在线观看 | 91av国产精品| 国产91精品一区二区麻豆网站 | 国产精品55夜色66夜色| 精品国产精品国产偷麻豆 | 国产精品美脚玉足脚交欧美| 无码国产精品一区二区免费16 | 精品国偷自产在线视频| 91久久精品无码一区二区毛片| 99re6这里有精品热视频| 久久精品中文闷骚内射| 亚洲精品色午夜无码专区日韩| 欧美精品播放| 乱人伦人妻精品一区二区| 精品亚洲欧美中文字幕在线看 | 精品国产三级a在线观看| 全球AV集中精品导航福利| 亚洲欧洲久久久精品| 手机日韩精品视频在线看网站| 久久国产精品无码网站| 国产精品99久久精品爆乳| 国产成人精品免费视频大全| 2024国产精品极品色在线| 中文精品久久久久国产网址| 天天爽夜夜爽精品视频app| 2021国产精品视频网站| 国产精品高清免费网站| 国产精品青草视频免费播放| 国产精品热久久毛片| 精品国产免费一区二区三区| 久久99国产精品成人欧美| 拍国产乱人伦偷精品视频| 亚洲精品无码Av人在线观看国产| 无码精品久久久天天影视 |