程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP中的類

PHP中的類

編輯:PHP綜合
    在闡述類的概念之前我們來先說說面向對象編程的概念:面向對象的程序設計(Object-OrIEnted Programming,簡記為OOP)立意於創建軟件重用代碼,具備更好地模擬現實世界環境的能力,這使它被公認為是自上而下編程的優勝者。它通過給程序中加入擴展語句,把函數“封裝”進編程所必需的“對象”中。面向對象的編程語言使得復雜的工作條理清晰、編寫容易。說它是一場革命,不是對對象本身而言,而是對它們處理工作的能力而言。對象並不與傳統程序設計和編程方法兼容,只是部分面向對象反而會使情形更糟。除非整個開發環境都是面向對象的,否則對象產生的好處還沒有帶來的麻煩多。有人可能會說PHP不是一個真正的面向對象編程的語言, PHP 是一個混合型語言,你可以使用面向對象編程,也可以使用傳統的過程化編程。然而,對於大型項目的開發,你可能想需要在PHP中使用純的面向對象編程去聲明類,而且在你的項目開發只用對象和類。隨著項目越來越大,使用面向對象編程可能會有幫助,面向對象編程代碼很容易維護,容易理解和重復使用,這些就是軟件工程的基礎。在基於Web的項目中應用這些概念就成為將來網站成功的關鍵。

  對象(Object)是問題域或實現域中某些事物的一個抽象,它反映此事物在系統中需要保存的信息和發揮的作用;它是一組屬性和有權對這些屬性進行操作的一組服務的封裝體。關於對象要從兩方面理解:一方面指系統所要處理的現實世界中的對象;另一方面對象是計算機不直接處理的對象,而是處理相應的計算機表示,這種計算機表示也稱為對象。簡單的來說,一個人就是一個對象,一個尺子也可以說是個對象。當這些對象可以用數據直接表示時,我們就稱他為屬性,尺子的度量單位可以是厘米,公尺或英尺,這個度量單位就是尺子的屬性。


  在PHP裡我們可以定義一個類,類(Class)就是指變量與一些使用這些變量的函數的集合。PHP是一種松散類型的語言,所以通過類型重載不起作用,通過參數的個數不同來重載也不起作用。有時在面向中重載構造函數非常好,這樣你可以通過不同的方法創建對象(傳遞不同數量的參數)。在PHP中就是通過類來實現的。


  在PHP中是通過類來完成信息封裝的,在PHP中定義類的語法是:


<?PHP
class Class_name       
// 在面向對象編程類中,習慣上類的第一個字符為大寫,並且必須符合變量的命名規則。
{
//函數與變量的集合
}
?>

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


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


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


<?PHP 
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的姓名、性別、學號、英語成績、數學成績,其中姓名和性別是字符型變量,所以需要用雙引號,其它為數值型變量則不需要。


  通過下面這段完整的源代碼,我們就可以很清楚的看到類在PHP是怎麼被運用的:


<?PHP 
class Student 
{
var $str_Name; 
var $str_Sex; 
var $int_Id; 
var $int_English;  
var $int_maths; 
function  Input ( $Name, $Sex, $Id, $English, $Maths)
{
$this->str_Name=$Name;
$this->str_Sex =$Sex;
$this->int_Id =$Id;
$this->int_English=$English;
$this->int_Maths=$Maths;
} 
function ShowInfo()  
{
echo (“姓名:$this->str_Name
”); echo (“性別:$this->str_Sex
”); echo (“學號:$this->int_Id
”); echo (“英語成績:$this->int_English
”); echo (“數學成績:$this->int_Maths
”); } } $Wing = new Student; $Wing->Input (“Wing”,”男”,33,95,87); $Paladin = new Student; $Paladin->Input (“paladin”,”女”,38,58,59.5); $Wing->ShowInfo(); $Paladin->ShowInfo(); ?> 執行結果應是這樣的: 姓名:Wing 性別:男 學號:33 英語成績:95 數學成績:87 姓名:Paladin 性別:女 學號:38 英語成績:58 數學成績:59.5
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved