PHP物件導向基本說明

2021-10-04 22:07:46 字數 4360 閱讀 9178

<?php

class

xunpublic

function

make()

}//例項化物件

$obj

=new

xun;

$obj

->

index()

;$obj

->

make()

;echo

$obj

->

name;(

newxun)-

>

make()

;

<?php

//類裡面有方法與屬性,方法與屬性有如下修飾詞:public,private,protected;

//private私有的屬性所修飾的方法或屬性只能被該類使用,不能被例項化的物件所呼叫;在繼承中不能被繼承的子類所呼叫

//protected受保護的屬性所修飾的方法或屬性只能被該類使用,不能被例項化的物件所呼叫,但在繼承中與private私有的修飾不通,該受保護的屬性可以被繼承的子類所屌用

class

xun}

class

yang

extends

xun}

// //例項化xun

// $obj = new xun;

// $obj->index();

// echo '';

// var_dump($obj->npc);

// var_dump($obj->blsd);

// var_dump($obj->ww);

//例項化yang

$yang

=new

yang

;$yang

->

test()

;

<?php

//php的類的繼承是單繼承,不能進行多繼承;可以通過trait的特殊類實現多繼承

class

xunpublic

function

make()

}class

yang

extends

xun}

//例項化

$obj

=new

yang

;$obj

->

index()

;$obj

->

make()

;

<?php

//trait定義的特殊類可以實現多繼承;但trait不是類,不能被例項化,只能做父類被繼承

// 多繼承的優先順序為子類方法的重寫最優先,

//繼承trait的模擬extends繼承的類優先

// 父類同名可以取別名

traitbo}

trait

npcpublic

function

make()

}classww}

//子類繼承父類

class

nbextends

ww// public function index()

// }

//例項化子類

$obj

=newnb;

$obj

->

index()

;$obj

->

make()

;$obj

->

index2()

;

<?php

//在繼承中防止父類方法被子類重寫可以使用final

class

xun}

class

yang

extends

xun}

$obj

=new

yang

;$obj

->

index()

;

<?php

//定義介面,該介面與抽象類一樣,只是定義方法名稱,不做方法實現,介面可以被多繼承,但抽象類或者是類在php中只能鏈式繼承或者說是單繼承

inte***ce

xuninte***ce

test

class

yang

implements

xun, test

public

function

index()

public

function

make()

}$obj

=new

yang

;// $obj->yang();

<?php

//定義抽象類,有抽象方法的類一定是抽象類,抽象類只定義不實現;當繼承該類時需要例項化該方法;在php中類的繼承是單繼承的不能實現多繼承,介面可以實現多繼承或者說是多實現

abstract

class

xun// $obj = new xun;

// $obj->index();

class

yang

extends

xunpublic

function

make()

}$obj

=new

yang

;$obj

->

make()

;

<?php

//類裡面存在屬性與方法

//定義靜態方法與靜態屬性

class

xun}

//靜態屬性是屬於類的,不能被例項化的物件呼叫;靜態方法裡面不能用this指標,因為靜態方法是類的,呼叫屬性可以使用self

$obj

=new

xun;

$obj

->

index()

;

<?php

//建構函式,當類被例項化的時候自動執行建構函式

class

xunpublic

function

__destruct()

public

function

index()

}$obj

=new

xun;

$obj

->

index()

;

<?php

//析構函式,在例項化的物件銷毀時自動呼叫

class

xunpublic

function

__destruct()

}$obj

=new

xun;

$obj

->

index()

;

<?php

//魔術方法__get;當獲取不存在,私有或者受保護的屬性時自動呼叫

class

xun}

$obj

=new

xun;

$obj

->

xun;

<?php

//魔術方法__set;當設定不存在,私有或者受保護的屬性時自動呼叫

class

xun}

$obj

=new

xun;

$obj

->

xun=

'你好嗎'

;

<?php

//魔術方法__call;當呼叫類裡面不存在的方法或不可訪問方法時自動呼叫;有兩個引數,第乙個為呼叫的方法名,第二個為該方法的實參,以陣列方式呈現

class

xunpublic

function

__call

($name

,$value)}

$obj

=new

xun;

$obj

->

index

('菠蘿賽東'

);

<?php

//__callstatic ,當物件對用該類不可方法的靜態方法是被呼叫

class

xunpublic

function

__callstatic

($name

,$arguments)}

$obj

=new

xun;

$obj

->

index

('啦啦啦啦'

);

php基本物件導向

1 變數的傳值與引用。2 變數的型別轉換和判斷型別方法。3 php運算子優先順序,一般是寫出運算子的運算結果。4 php中函式傳參,閉包,判斷輸出的echo,print是不是函式等。5 php陣列,陣列函式,陣列遍歷,預定義陣列 面試必出 6 php物件導向,魔術方法,封裝 繼承 多型。設計模式,包...

php(物件導向的基本介紹)

物件導向思想介紹 物件導向程式設計。物件導向三大特性 封裝 繼承 多型 類與物件 類 是用於描述 某一些具有共同特徵 的物體的概念,是某一類物體的總稱。物件 是指乙個具體的 物體 該物體隸屬於某個 類別 類 物件建立的基本形式 物件名1 new 類名 物件名就是變數名 類是應該定義過了 類中成員 屬...

物件導向基本

在類中,我們會定義方法 預設我們定義的方法,pycharm都會自動給我們的方法加上乙個self引數,作為第乙個引數 經過了驗證 self這個東西,只能夠在有self引數的方法中使用 無slef的方法,不可以使用self self的記憶體位址,與對向的記憶體位址是一模一樣的 物件可以有的屬性方法操作,...