首頁 >後端開發 >php教程 >php中的建構函數,析構函數,(靜態)變數,方法的實例分析

php中的建構函數,析構函數,(靜態)變數,方法的實例分析

黄舟
黄舟原創
2017-07-02 10:39:181655瀏覽

1.php的類別的結構以及呼叫與java的方法很是不同;

2.php使用->呼叫方法和變數的,用::呼叫靜態方法和變數;

3.php不只有一個建構子,還有有一個析構函式。子類別的這兩種函數可被parent::來進行呼叫保留。

一、父類別 myClass.php

<?php

header("Content-type:text/html;charset=utf-8");

class myClass
{
    public $n = "这是public对象";
    private $n2 = "这是private对象";
    protected $n3 = "这是protected对象";

    private $myCt01;
    private $myCt02;
    private $myCt03;

    static public $m = "我是静态变量";

    //构造函数一个参数
//    public function construct($myCt01)
//    {
//        $this->myCt01 = $myCt01;
//    }
    //构造函数,是程序开始时就执行。
    public function construct($myCt01, $myCt02, $myCt03)
    {
        $this->myCt01 = $myCt01;
        $this->myCt02 = $myCt02;
        $this->myCt03 = $myCt03;
    }

//析构函数,程序结束时执行
    public function destruct()
    {
        // TODO: Implement destruct() method.
        echo "我是析构函数";
    }

//打印值
    public function printMyCt01()
    {
        echo $this->myCt01;
        echo $this->myCt02;
        echo $this->myCt03;
    }

    //无参数,无返回值
    public function getMyClass()
    {
        echo "这是我的类getMyClass()方法" . "<br>";
        echo $this->n2;
        echo $this->n3;
    }

    //具有返回值,无参数
    public function getMyNum()
    {
        return "我是返回值";
    }

    //有参数有返回值
    public function getMyName($n)
    {
        $n = $n . "大海" . "<br>";
        return $n;
    }

    //有参数,参数具有初始化,如果被传入则用传入的,没传入则不用;无返回值
    public function getAction($a, $b, $c = "我是初始化")
    {
        echo $a . "<br>";
        echo $b . "<br>";
        echo $c . "<br>";
    }

    //静态方法
    static public function getSc()
    {
        echo "我是静态方法" . "<br>";
    }
}


////构造参数,必须传参
//$myCs = new myClass("汪洋大盗", "汪洋大盗", "汪洋大盗");
//$myCs->printMyCt01();
//$myCs->getMyClass();
//echo $myCs->n;

////具有返回值,无参数
//echo "<br>" . $myCs->getMyNum();
//注意下边的输出方式
//$r = $myCs->getMyNum();
//echo $r;

////有参数有返回值
//echo $myCs->getMyName("汪洋");

////有参数,参数具有初始化
//$myCs->getAction("123", "456");
//$myCs->getAction("123", "456", "789");

//静态的情况下
////静态方法
//myClass::getSc();
//$myCs->getSc();

////静态变量
//echo myClass::$m;
?>

三、子類別檔案myChild.php

<?php
/**
 * Created by PhpStorm.
 * User: 洋   汪
 * Date: 2016/7/16
 * Time: 17:59
 */
header("Content-type:text/html;charset=utf-8");
include "myClass.php";

class myChild extends myClass
{

    public function construct()
    {

//        parent::construct("", $myCt02, $myCt03);
//可以保留父类的构造函数,也可以不保留。
        echo "我是儿子的构造函数" . "<br>";
    }

    public function destruct()
    {
        echo "我是儿子的析构函数" . "<br>";
//        parent::destruct();
    }
}

//只能得到父类的public的方法,变量;静态方法,静态变量。
$mc = new myChild();
echo $mc::getSc();
echo $mc::$m;
?>

以上是php中的建構函數,析構函數,(靜態)變數,方法的實例分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn