標籤:style blog class c http color
php物件導向設計
對象相比數組的優點:不僅可以儲存多個資料,還可以將函數存在對象中
對象的三大特性:封裝、繼承、多態
物件導向編程(object oriented programming 即oop),其達到了編程代碼的重用性、靈活性和擴充性更加簡潔、容易維護。php又不是純的物件導向編程,其也可以是面向過程編程。
1.物件導向和面向過程的區別?
面向過程:就是在整個項目中最小單位都是由函數組成的
物件導向:就是在整個項目中最小單位都是由對象組成的
2.什麼是對象
對象,可以說世間萬物都是。就是一個實體,在現實生活中能夠描述出來的。例如:桌子、電腦等
3.對象中有什嗎?
對象:成員
成員屬性==變數-->定義對象的外觀和狀態
成員方法==函數-->定義對象的功能
4.什麼是類?
分類、類型、自己類型
就是給一個東西分類別,就是在這個類中定義屬性和方法
例如給鳥定義屬性和方法
5、類與對象之間的一個關係
聲明類-->執行個體化對象(建立對象)-->用對象
一句話就是:類是對象的聲明,對象是類的執行個體
類是抽象的,代表了一類的事物,現實生活中的具體事物
類是對象的模板,對象是類的具體執行個體【就是生活中所能描述出來的一個具體的東西,人(一種食物的類別,即類,這裡面的內容是每個人都通有的東西)-->黑人、白人、黃種人(具體的一個對象)】
① 類的聲明
修飾符 class 類名{
成員
}
案例:
<?php
//類的聲明
class Cat{
public $name;
public $age;
public $color;
}
//執行個體化對象
$cat1=new Cat();//也可不用小括弧()
$cat1->name="小白";//->是指向的意思
$cat1->age=2;
$cat1->color="白色";
$cat2=new Cat();
$cat2->name="小黑";
$cat2->age=2;
$cat2->color="黑色";
//對象的使用
$findName="小白";
if($cat1->name==$findName){
echo $cat1->name."<br/>".$cat1->age."<br/>".$cat1->color;
}
if($cat2->name==$findName){
echo $cat2->name."<br/>".$cat2->age."<br/>".$cat2->color;
}
?>
②如何定義一個類的檔案名稱
專門定義一個類的檔案名稱應該這樣定義:類名.class.php
例如:Cat.class.php
<?php
class Person{
public $name;
public $age;
}
$a=new Person();
$a->name="小明";
$a->age=20;
$b=$a;
var_dump($a);
echo "<br/>";
var_dump($b);
echo $a->name;
echo "<br/>".$b->name;
?>
圖解