php面相物件基本概念,基本形式,傳值

2022-08-12 05:51:11 字數 2269 閱讀 6480

物件導向三大特性:

封裝繼承

多型類:

是用於描述「某一些具有共同特徵」的物體的概念

,是某一類物體的總稱。

通常,乙個類所具有的共同特徵包括2大方面的資訊

外觀,形狀,描述,資料。。。。。屬性。

行為,動作,功能。。。。。。。。

方法。物件

:是指乙個具體的「物體」,該物體隸屬於某個「類別」(類)。

通常,物件離不開類,沒有類,就不能有物件。

可見,類無非就是將乙個變數和一些函式以及一些常量用乙個「名字」包起來了,此名字就是「類名」。

另一方面,我們就說,這些屬性,函式,和常量就「隸屬於」該類——只能由該類(及其建立出來的物件)來使用。

在物件導向的語法中

1、定義類;定義類的語法中,只有這

3種**:

1.1定義屬性(變數)

1.2定義方法(函式)

1.3定義常量(類常量)

2、建立類的物件;

3、使用物件;

使用物件也幾乎只有3個方式:

3.1使用其屬性:因為屬性就是「變數」,則使用其屬性,也就是跟以前使用變數一樣。

3.2使用其方法:因為方法就是「函式」,則使用其方法,也就是跟以前使用函式一樣。

3.3使用其常量:類似使用以前的普通常量。

方式1:

$物件名

1  =  new  

類名(); //物件名就是變數名;類是應該定義過了

方式2:

方式3:

$物件名

3 = new  self; //self指代類本身,這行**只能在類內部方法中使用。

方式4:通過物件建立物件

new 物件名;//建立該物件所屬類的乙個新物件

回顧:php中,變數傳值方式有2個:

值傳遞:

傳遞的時候,拷貝的是資料本身。預設都是值傳遞。

結果:傳遞完之後,有了2份同樣的資料,但兩個變數「相互獨立」沒有關係。

引用傳遞:

傳遞的時候,拷貝的是引用關係。需要使用「」才能實現引用傳遞。

結果:傳遞完之後,資料仍然只有乙份,但是兩個變數共同指向該資料。

則在物件導向這個層面,基本來說,仍然如此:預設是值傳遞,可以使用引用傳遞

先觀察乙個現象:

這是什麼原因?

原來,物件的儲存跟普通變數的儲存有所區別:

普通變數:$s1 = 10;

對於物件(變數):

則物件變數複製的時候,值傳遞就變成這樣:

$obj2 = $obj1; //值傳遞

可見,物件變數進行普通傳值的時候,複製的是物件變數中所儲存的「物件識別符號」

那麼,我們斷開$p1跟其儲存的資料(識別符號)之間的關係,結果是:

$p2還有效:

可見$p1和

$p2之間是值傳遞。

再來對比看看引用傳遞:

基本概念 物件

封裝了資料和操作這些資料的 的邏輯實體。在乙個物件導向的系統中,物件是執行期的基本實體。它可以用來表示乙個人或者說乙個銀行帳戶,一張資料 或者其它什麼需要被程式處理的東西。它也可以用來表示使用者定義的資料,例如乙個向量,時間或者列表。在物件導向程式設計中,問題的分析一般以物件及物件間的自然聯絡為依據...

物件導向 基本概念

物件 由其責任定義的,能夠自己負責自己,從而簡化了使用物件的控制程式的任務。將責任轉移到更區域性的層次。類 class 根據物件所具有的責任定義物件的型別。責任 行為或狀態,這些分別是由方法和或資料實現的。具體類 concrete cass 實現抽象類某一特定型別行為的類,具體類是乙個概念特定不變的...

物件導向基本概念

物件導向是相對面向過程而言 物件導向和面向過程都是一種思想 面向過程強調的是功能 行為 物件導向 將功能封裝進物件,強調具備了功能的物件 物件導向是基於面向過程的 類的概念 具有相同屬性的一類事物 物件的概念 就是對這乙個類的具體的描述 比如人類就是抽象的類,具體的某乙個人就是物件,對人這個類的具體...