PHP面向對象-構造函數和析構函數

<?php
header('content-type:text/html;charset=utf-8');

//書寫PHP操作類  class

class Student{

    //屬性 ===> 描述該類物體的外觀、形狀等
    public $name;
    public $sex;

    //構造方法(在OO中,函數被稱爲方法)
    // 1 特殊的名稱:__construct  2 在實例化對象時,自動被調用
    // 3 在內存中劃分了對應的內存空間區域
    // 4 構造方法可以像普通方法一樣,接收參數;這裏的參數通常是用來初始化類中的屬性的
    // 5 構造方法不能重複定義,每個類當中有且只能有一個;如果不寫相當於有一個默認的不帶參數且沒有任何執行語句的空函數
//    public function __construct(){
//
//    }
    public function __construct($name='王五'){
        echo '我是構造函數方法<br>';
        $this->name = $name;
    }

    // 當類的對象被銷燬時自動的調用
    // 1 作用與構造函數相反,它是用來銷燬對象的; 同時,它也會用於有關聯的數據的同步銷燬
    // 2 同樣,析構函數也是自動被調用
    // 3 析構函數不能傳參數
    public function __destruct(){
        echo '<br>調用了析構函數<br>';
    }

    //行爲 ===> 定義該類可以做的事情
    public function doHomework(){
        echo '學生有家庭作業<br>';
    }

    function eat(){
        echo $this->name.'可以吃飯';
    }

}

// 將類進行實例化
//$stu = new Student('李四');
$stu = new Student();
//$stu1 = new Student();

//調用定義的行爲(函數)
$stu->doHomework();
//給對應的屬性進行賦值
//$stu->name = '張三';
$stu->eat();



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章