php 類的初始化(1/2)

來源:互聯網
上載者:User
 代碼如下 複製代碼

class child
{
    private $parent;
 
    function __construct($parent)
    {
        $this->parent = $parent;
    }
 
    function getnationality()
    {
        return $this->parent->nationality;
    }
}

$parent = new parent('hispanic');
$child = new child($parent);

php教程中是通過類來完成資訊封裝的,在php中定義類的文法是:
class class_name // 在物件導向編程類中,習慣上類的第一個字元為大寫,並且必須符合變數的命名規則。
{

//函數與變數的集合

}
?>

在定義類時你可以按自已的喜好的格式進行定義,但最好能保持一種標準,這樣開發起來會更有效些。

資料成員在類中使用"var"聲明來定義,在給資料成員賦值之前,它們是沒有類型的。一個資料成員可以是一個整數,一個數組,一個相關數組(associative array)或者是一個對象。

下面是一個類定義的實際例子:

 代碼如下 複製代碼
class student
{
var $str_name; //姓名
var $str_sex; //性別
var $int_id; //學號
var $int_english; //英語成績
var $int_maths; //數學成績
}
?>

這是一個很普通定義類的簡單例子,用於顯示學生的學習成績,類名為student,student類包涵了一個學生的基本屬性:姓名、性別、學號、英語成績和數學成績。

function我們稱之為在類中被定義的函數,在函數中訪問類成員變數時,你應該使用$this->var_name,其中var_name 指的是類中被聲明的變數,否則對一個函數來說,它只能是局部變數。 我們先定義一個input()的函數,用來給執行個體中的對象賦以初值:

 代碼如下 複製代碼
function input ( $name, $sex, $id, $englis, $maths)
{
$this->str_name=$name;
$this->str_sex =$sex;
$this->int_id =$id;
$this->int_englis=$english;
$this->int_maths=$maths;
}

現在我們再定義一個叫“showinfo()”的函數,用於列印學生的基本情況:

 代碼如下 複製代碼

function showinfo() //定義showinfo()函數
{
echo (“姓名:$this->str_name

”);
echo (“性別:$this->str_sex

”);
echo (“學號:$this->int_id

”);
echo (“英語成績:$this->int_english

”);
echo (“數學成績:$this->int_maths

”);
}

而定義好的類則必須使用new關鍵詞來產生對象:
$a_student=new student;
例如我們要為一個名為$wing的對象建立執行個體,並進行賦值,可以使用下面的代碼:
$wing =new student; //用new關鍵詞來產生對象
$wing ->input (“wing”,”男”,33,95,87);
//分別輸入wing的姓名、性別、學號、英語成績、數學成績,其中姓名和性別是字元型變數,所以需要用雙引號,其它為數值型變數則不需要。 

首頁 1 2 末頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.