面向對象,類和對象的整理
面向對象的三大要素:封裝;繼承;多態;
面向對象;
傳統的面向過程思想:
是一個人把所有事情幹完,一個人走完所有過程;
現代面對對象思想:
把所有的事,分工給好多人,每個人完成一部分;
類的定義,通俗說就是定義了一個大的方法,完成了一部分的內容
包括了屬性,和方法;
類和對象的區別;
類是代表了一些事或者物,區分為一個類,包含了許多的小類或者對象;
對象是代表了具體到某一個事或者物;
類的定義
class 類名 {
屬性;
方法;
}
創建一個類的實例化對象:
1. $對象名 = new 類名();
2. $變量1 = ‘值1‘;
$對象 = new $變量名1();//
3. $對象名 = new self; //self指代類本身,這行代碼只能在類內部方法中使用。
4. $對象名2 = new $對象名1; 通過new對象創建一個新的對象
使用對象時;
一般都是使用屬性,使用方法和使用常量
對象的傳值,分為值傳遞和引用傳遞;默認為值傳遞;
類中的成員:
屬性和方法的定義;
類中屬性的定義:靜態和一般的區別; 靜態屬性和方法是屬於類的,一般方法和一般屬性是屬於對象的;
一般屬性定義:
1.var $屬性名 = ‘屬性值‘; 定義並賦值;
2.var $屬性名;
3.public $屬性名; 這個也是定義不賦值 public 可以代替var 並比var更加正式;
4.public $屬性名 = ‘屬性值‘; 定義並賦值;
屬性的使用:
$對象名->屬性名=‘屬性值‘;(屬性名不加$符號);
可以直接輸出這個對象的默認屬性值;
echo $對象->屬性名;
靜態屬性定義:
static $屬性名 = ‘屬性值‘;
靜態屬性的調用; 調用時用 :: 雙冒號語法
類::$靜態屬性名;
對象也可以調用靜態屬性;但是沒有提示,寫死也可以出效果,但是不推薦;
一般方法定義: 方法前可以加 public 意思的公共的都能調用
function 方法名(裏面可以加參數){
}
一般方法的調用:
$對象名->方法名(裏面可以加相應的實參);(調用方法的時候要加小括號);
方法中 $this關鍵字是一個偽對象,代表當前類的對象
可以用$this來代表當前類; $this->屬性名,表示調用默認的屬性;
一般方法中可以調用靜態方法;
靜態方法定義:
static function 方法名(){
}
靜態方法的調用: 同樣用 :: 雙冒號語法
類名::靜態方法名();
靜態方法中,不可以調用一般方法,不可以用$this;
不可以被對象所調用;
self:代表當前類,
同樣的在方法裏輸出 return new self;
在調用這個方法的時候,就能得到一個對象;這個類的對象
構造方法:
在創建對象時會自己執行;默認是空,也可以寫出來執行一些方法,通常用來情況值;
function __construct(){
執行的內容:
}
析構方法:
在PHP文件執行完畢後銷毀對象,默認不寫;就是銷毀對象,
用unset() 也可以銷毀對象
面向對象,類和對象的整理