PHP 入門指南 - 建構子

建構子 (constructor) 是一種特別的方法 (method) ,就是在 new 的時候執行的,寫法是 function 後加上 __construct() ,留意 construct 之前是兩條底線




Encrypt 類別的建構子就拿 cArray 來 shuffle() 一下囉
function __construct() {
    shuffle($this->cArray);
}


建構子是 PHP 5 之後才加進來的功能,若使用之前的版本可能無法使用建構子。


除了建構子之外,物件導向程式設計中另有解構子 (destructor) 的概念,不過,我們不打算討論解構子。


我們把 encryptdemo.php 修改如下
<?php
echo "<br / >";
$d1 = new Encrypt;
for ($i = 0; $i < 26; $i++) {
    echo $d1->cArray[$i];
}
echo "<br / >";
$d2 = new Encrypt;
for ($i = 0; $i < 26; $i++) {
    echo $d2->cArray[$i];
}
echo "<br / ><br / >";

class Encrypt {
    public $cArray = Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z");
    public $oArray = Array("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z");

    function __construct() {
        shuffle($this->cArray);
    }
}

/* 《程式語言教學誌》的範例程式
    http://pydoing.blogspot.com/
    檔名:encryptdemo2.php
    功能:示範 PHP 程式 
    作者:張凱慶
    時間:西元 2012 年 11 月 */
?>


所以 new 後就行了,我們來看看結果吧



接下來,我們繼續建置編碼功能吧!


中英文術語對照
建構子constructor
方法method
解構子destructor


您可以繼續參考
網站篇


相關目錄
回 PHP 入門指南
回 PHP 教材
回首頁


參考資料
http://php.net/manual/en/language.oop5.php
http://www.php.net/manual/en/oop5.intro.php
http://www.php.net/manual/en/language.oop5.basic.php
http://php.net/manual/en/language.oop5.decon.php

沒有留言: