中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php構造方法和java構造方法有哪些區別

發布時間:2022-03-04 11:07:35 來源:億速云 閱讀:134 作者:iii 欄目:編程語言

這篇文章主要介紹“php構造方法和java構造方法有哪些區別”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“php構造方法和java構造方法有哪些區別”文章能幫助大家解決問題。

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

本文操作環境: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構造方法和java構造方法有哪些區別”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

米脂县| 昌乐县| 耒阳市| 洛阳市| 镇康县| 巴青县| 怀集县| 孟州市| 肇州县| 板桥市| 新津县| 宁国市| 德惠市| 丰原市| 广平县| 永善县| 牡丹江市| 皋兰县| 水城县| 公主岭市| 罗源县| 白河县| 祁门县| 林芝县| 纳雍县| 浮梁县| 洱源县| 拜泉县| 瑞安市| 红桥区| 道孚县| 株洲县| 彰化县| 嘉鱼县| 万载县| 固镇县| 福建省| 宜川县| 彭州市| 满城县| 射洪县|