標籤:hang com var 儲存 size 電腦編程 turn 建立 世界
PHP物件導向
物件導向編程(Object Oriented Programming, OOP, 物件導向程式設計):
是一種電腦編程架構,OOP的一條基本原則是電腦程式是由單個能夠起到子程式作用的單元或對象組合而成,OOP達到了軟體工程的三 個目標:重用性、靈活性和擴充性。為了實現整體運算,每個對象都能夠接收資訊、處理資料和向其它對象發送資訊。
對象的概念:
對象是系統中用來描述客觀事物的一個實體,它是構成系統的一個基本單位。一個對象由一組屬性和對這組屬性進行操作的一組服務組成。從更抽象 的角度來說,對象是問題域或實現域中某些事物的一個抽象,它反映該事物在系統中需要儲存的資訊和發揮的作用;它是一組屬性和有權對這些屬性進行操作的一組 服務的封裝體。客觀世界是由對象和對象之間的聯絡組成的。
類的概念:
類是具有相同屬性和服務的一組對象的集合。它為屬於該類的所有對象提供了統一的抽象描述,其內部包括屬性和服務兩個主要部分。在物件導向的程式設計語言中,類是一個獨立的程式單位,它應該有一個類名並包括屬性說明和服務說明兩個主要部分。
如何抽出一個類:
class 類名{}
例子:
class 人{ 成員屬性:姓名、性別、年齡、身高、體重、電話、家庭住址 成員方法:可以開車, 會說英語, 可以使用電腦}
class Person{ // 下面是人的成員屬性 var $name; //人的名子 var $sex; //人的性別 var $age; //人的年齡 // 下面是人的成員方法 function FANGFA() { return; }}
計算矩形面積:
class 矩形{ // 矩形的屬性 矩形的長; 矩形的寬; // 矩形的方法 矩形的周長; 矩形的面積;}
執行個體:
class Rect{ var $kuan; var $gao; function zhouChang() { 計算矩形的周長; } function mianJi() { 計算矩形的面積; }}
如何執行個體化對象: 對象名稱 = new 類名稱();
class Person{ //下面是人的成員屬性 var $name; //人的名字 var $sex; //人的性別 var $age; //人的年齡 //下面是人的成員方法 function say() { //這個人可以說話的方法 echo "這個人在說話"; } function run() { //這個人可以走路的方法 echo "這個人在走路"; }} $p1=new Person();$p2=new Person();$p3=new Person();
使用對象:
對象->屬性 $p1->name; $p2->age; $p3->sex;
對象->方法 $p1->say(); $p2->run();
$p1->name = "張三"; //屬性對象$p1->sex = "男";$p1->age = 20;
$p2->say(); //方法對象$p2->run();
this對象的使用:
在對象的內部,讓對象裡的方法訪問本對象的屬性, 或是對象中的方法去調用本對象的其它方法。
$this->屬性: $this->name; $this->age; $this->sex;
$this->方法 :$this->say(); $this->run();
執行個體:
class Person{ var $name; var $sex; var $age; // 定義一個構造方法參數為私人的屬性姓名$name、性別$sex和年齡$age進行賦值 function __construct($name, $sex, $age) { // 通過構造方法傳進來的$name給私人成員屬性$this->name賦初使值 $this->name = $name; // 通過構造方法傳進來的$sex給私人成員屬性$this->sex賦初使值 $this->sex = $sex; // 通過構造方法傳進來的$age給私人成員屬性$this->age賦初使值 $this->age = $age; } // 這個人可以說話的方法, 說出自己的私人屬性,在這裡也可以訪問私人方法 function say() { echo "我的名子叫:" . $this->name . " 性別:" . $this->sex . " 我的年齡是:" . $this->age; }} // 通過構造方法建立3個對象$p1、p2、$p3,分別傳入三個不同的實參為姓名、性別和年齡$p1 = new Person("張三", "男", 20);$p2 = new Person("李四", "女", 30);$p3 = new Person("王五", "男", 40); // 下面訪問$p1對象中的說話方法$p1->say(); // 下面訪問$p2對象中的說話方法$p2->say(); // 下面訪問$p3對象中的說話方法$p3->say();
結果:
PHP物件導向