物件導向三大特性:
封裝繼承
多型類:
是用於描述「某一些具有共同特徵」的物體的概念
,是某一類物體的總稱。
通常,乙個類所具有的共同特徵包括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 實現抽象類某一特定型別行為的類,具體類是乙個概念特定不變的...
物件導向基本概念
物件導向是相對面向過程而言 物件導向和面向過程都是一種思想 面向過程強調的是功能 行為 物件導向 將功能封裝進物件,強調具備了功能的物件 物件導向是基於面向過程的 類的概念 具有相同屬性的一類事物 物件的概念 就是對這乙個類的具體的描述 比如人類就是抽象的類,具體的某乙個人就是物件,對人這個類的具體...