1. 程式人生 > >PHP面向對象基本概念 類與對象 靜態屬性 構造/析構方法

PHP面向對象基本概念 類與對象 靜態屬性 構造/析構方法

cti ons zhang 別名 就是 獨立 ret 修飾 方法

1.傳統的面向過程和現代面向對象
傳統面向過程:是指把將要完成的工作分為若幹個步驟一步一步的完成
現代面向對象:是指將要完成的工作拆分為一個一個的對象的任務(功能)每個對象獨自完成自己的任務
可以理解為: 一個大掃除 面向過程就是一個人幹完大掃除 面向對象就是 一個人掃地 一個人拖地
2.面向對象的基本概念
三大特性:封裝 繼承 多態
類與對象:
張三是一個對象,李四是一個對象 他們都隸屬於人這個類
類:描述某一些具有共同特征的物體的概念
對象:是指一個具體的物體,該物體隸屬於某個類別
通常,對象離不開類,沒有類就沒有對象 沒有對象可以有類
class Human{ //定義一個類 class是關鍵字


//類中有一些屬性(就是變量)
var $name = ‘張三‘;
var $sex = ‘男‘;
var $age = ‘20‘;
//類中與一些方法(就是函數)
function show(){
echo ‘姓名:‘.$this->name.‘;性別:‘.$this->sex.‘;年齡:‘.$this->age;

}
const PI = 3.14 //類中有一些常亮(類常亮)
}
類中的屬性:
定義形式(var是public的別名):
var $v1; //可以定義不賦值
var $v2 = 2; //定義的同時賦值 值不能是變量和計算表達式
public $v1;
public $2 = 2;
使用形式:
$對象->屬性名 //屬性名前面沒有$符號
創建類的對象:
//調用
1.對象名 = new 類名(Human)();
2.可變類名
變量名($name)= "類"
對象名($lisi) = new 變量名($name)();
3.對象名 = new self;只能在類的內部使用 指的是本身
function cself(){
return new self
}
例如:$lisi = new Human();
$zhangsan = $lisi->cself();
他倆是相等的
4.對象名1 = new 類名() 對象名2 = new 對象名1;
對象的傳值:

值傳遞:復制數據 相互獨立
引用傳遞: 復制的是關系 一個改變另一個也改變
關鍵字 &;
一般方法:
定義是一樣的 使用是
使用也是 ->
訪問修飾符 不寫就是public
$this 關鍵字 是一個偽對象 代表當前所屬類的當前對象
對象不一樣 顯示的內容也是不一樣的
系統函數:
獲取某個對象的 類名 結果只是一個類名字符串
對象名 = new 類名() get_class(對象名)的結果就是類名
靜態屬性:
關鍵字 static
static $v1 = 10;
用法:類::屬性名;
靜態方法:
不能存在$this 不能存在類的東西
構造方法:
關鍵字 __construct();
如果你不寫 就是調用 function ____construct(){
}
不能是靜態方法
使用$this來賦值
析構方法:
銷毀對象時自動調用 php代碼執行結束會自動銷毀對象 可用析構方法查看
不能調用 自己執行 不能有形參
手動銷毀unset($p1);

PHP面向對象基本概念 類與對象 靜態屬性 構造/析構方法