物件的主要三個特性
物件的行為:可以對 物件施加那些操作,開燈,關燈就是行為。
物件的形態:當施加那些方法是物件如何回應,顏色,尺寸,外型。
物件的表示:物件的表示就相當於身分證,具體區分在相同的行為與狀態下有什麼不同。
物件導向模型
物件導向的概念:
oop(物件導向的程式設計)它能是其程式碼更加簡潔易於維護並且具有更強的可重性
什麼是類別:
類是具有相同屬性和服務的一組對象的集合比如說人,書,輪船,車都屬於類,他為屬於該類的對像做了一個統一的抽象描述,在編程的語言中類是一個單獨的程序,它應該有一個類別名稱包括屬性的說明和服務兩個部分。
什麼是物件:
物件是系統中描述客觀事件的一個實體,他是構成系統的一個基本單位。 *資料與程式碼都被捆綁在一個實體當中*,一個物件由一組屬性和對這組屬性進行操作的一組行為組成。
從抽象的角度來說,物件是問題域或實作域中某些事物的一個抽象。他反映該事物在系統中保存的資訊和發揮的作用:它是一組屬性和有權對這些屬性進行操作的一個封裝體。客觀世界是由物件和物件之間的連結所組成的。
類和對象的關係:
類與對象的關係就如模具和鑄件的關係,類的實力化的結果就是對象,而對對象的抽象就是類,類描述了一組具有相同特性(屬性)和相同行為的物件。
類別與屬性與方法
PHP中定義類別語法格式:
class classname [選用屬性]{
public $property [=value];標識 接著給予一個變數 變數也可以賦值
function functionname ( args ){ //類別的方法裡的成員函數
}
產生物件(類別的實例化): $物件名稱=new classname( );
使用物件的屬性
在一個類別中,可以存取一個特殊指標$this當在該類別中通過一個操作設定或存取該變數時,使用$this->name來引用.
物件的產生
定義好類別後用一個new來聲明,由於物件資料的封裝特性,物件是無法由主程序區塊直接存取的須透過物件來呼叫類別中所定義的屬性和行為函數,間接地達成存取控制類別中資料的目的。
物件和類別的關係
物件和類別的關係:
物件是實際存在的,佔有動態資源。
類別是物件的藍圖,可能佔有靜態資源。
物件屬性佔有動態資源
類別(靜態)屬性其實是有類別名字空間上的「全域變數」
效能考量:
每個物件要單獨佔用資料空間
增加的呼叫層次可能消耗執行時間
方法的參數形式與傳遞方式
方法的參數可以是基本資料型別、陣列、類別物件。
基本資料型態:值參傳遞
陣列:值參傳遞
類別物件:引用傳遞
建構作用的產生方法與其他函數一樣只是其名稱必須是__construct().
語法格式:function __construct(參數){
。 。 。 。 。 。 。 。
}
範例:
class Person{
public $name;
sex,$age ){
echo "我是建構子
";
$this->name=$name;
age;
}
輸出結果:初始化
析構函數
當物件脫離其作用域時(例如物件所在的函數已調整後),系統自動執行析構函數。應在退出前在析構函數中用釋放記憶體。
析構函數__destruct 析構函數沒有任何參數
範例:class person{
function _ _destruct( )
$ a=new person();
存取類型
public 公有的(公用修飾子) 類別內部與類別外部都可以存取的
private 私有的(私有修飾子) 只能在類別中存取
private 私有的(私有修飾子) 只能在類別內部存取
protected 受保護的(保護成員修飾符) 子類別可以存取 類別外部無法存取
oop的三個重要特性
封裝,繼承,多態
封裝性:封裝性就是把物件的屬性和行為結合成一個獨立的單位。
封裝一個類別需要兩步驟 第一步是私有化一個類別 第二步是用set和get 做出讀取賦值的操作
他的好處是:隱藏類別的實作細節,可以方便加入邏輯控制性,限制屬性不合理的操作,便於修改增強程式碼的可維護性。
__get與__set
一般說把類別私有字更符合現實的邏輯。
預先定義兩種函數來進行取得與敷值操作。
__get 取得值通常是域的值
__set 設定值通常是域的值
__call 呼叫一個物件中不存在的方法時,就會產生錯誤call()這個方法來處理這種情況。
目前1/2頁 12下一頁
以上就介紹了php學習 php學習 物件導向 課件第1/2頁,包含了php學習的內容,希望對PHP教學有興趣的朋友有幫助。