1,繼承extends 只能單繼承
public protected private 屬性
__construct()
__destruct()
__get()讀取私有成員
__set($n,$v) 設置私有成員
2,訪問父類函數 :: (c++裡面也叫作用域符)
7
3,重載 和 父類名字相同的 函數
4,抽象類 abstract 必須繼承 不能被實例話 並且 必須要重寫抽象函數 只要類中有一個函數是靜態的 那麼類必須為靜態
5,常用關鍵字
1,final 定義類的時候 類 不能被繼承 定義 函數時 函數 不能 重載
2,self 用來訪問未實例化類中的屬性或者方法 (靜態或者常量) 使用方法 self::屬性
3,static 定義靜態成員或者方法只會在內存出現一次 (靜態方法內 不能出現非靜態內容)
4,const 定義常量 只能修飾成員屬性 修飾的常量 不加 $
6,接口的應用 interface接口定義關鍵字 implements引用
接口:全部為抽象方法,不用加 abstract 屬性 應該為常量
interface Demo{}
class T implements Demo{} 可以引用多個接口
先繼承後接口 class a extends root implements Demo{}
接口繼承接口 interface D extends Demo
7,多態 php 是 弱類型語言 所以支持不是很完美
instanceof 測試 一個實例是否來自一個類 example: a{} $c = new a; if($c instanceof a)
8,對象 作為參數傳遞 給函數 時 不運行 構造函數 並且 並非是復制副本,而是傳遞對象地址
9,對象 描述配置 __tostring(){內容} 直接echo 對象
10,對象 異常處理 __call($name,$value) 調用不存在的方法名時 自動吸收 你的錯誤 並且顯示$name 和 錯誤參數的 值
11,對象克隆 __clone()放在 類裡面 clone關鍵字 (相當與c++的拷貝函數)
12,自動載入 function __autoload($class_n){
include($class_n.'php');
} 當自行 new 一個類時 自動載入 inlcude()一個類