日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > php >内容正文

php

php-面向对象

發(fā)布時間:2024/4/17 php 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php-面向对象 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、 面向?qū)ο?#xff1a;一種計算機(jī)編程的架構(gòu)。把每個獨(dú)立的功能模塊抽象成類,形成對象,由多個對象組成這個系統(tǒng),這些對象之間都能夠接收信息、處理數(shù)據(jù)和向其它對象發(fā)送信息等等相互作用
特點(diǎn):重用性、靈活性、擴(kuò)展性;
面向?qū)ο蠓先祟惪创挛锏囊话阋?guī)律,采用面向?qū)ο蠓椒梢允瓜到y(tǒng)各部分各司其職、各盡所能。

2、類:類是具有相同屬性(特征)和相同方法(行為)的一組對象的集合。

3、對象:用來描述客觀事物的一個實體,它是構(gòu)成系統(tǒng)的基本單位。
對象是一個由屬性和有權(quán)對這些屬性進(jìn)行操作的封裝體。

4、類和對象的關(guān)系:類的實例化就是對象,而對一類對象的抽象就是類。

5、類的實例化(即創(chuàng)建對象):通過關(guān)鍵字new來實例化。格式: 對象名字=new 類名{屬性;方法}

6、訪問對象的成員(屬性和方法):外部訪問,通過操作符:->(對象->成員)
內(nèi)部訪問,對象的方法通過$this訪問本對象的成員屬性或其他成員方法,即$this代表這個對象

7、構(gòu)造方法:當(dāng)創(chuàng)建一個對象的時候自動調(diào)用構(gòu)造方法。
構(gòu)造方法的聲明和其他方法一樣,只是它的方法名必須是__construct,這是php5的變化;以前的版本中構(gòu)造方法的名字必須和類名一樣。而使用前者的好處是,構(gòu)造方法獨(dú)立于類名,即當(dāng)類名需要改變的時候,構(gòu)造方法的名字不用跟著改變。
注意:一個類中只能有一個構(gòu)造方法,不能主動調(diào)用,通常用來執(zhí)行一些有用的初始化任務(wù),如在創(chuàng)建對象的時候給成員屬性賦初始值。

8、析構(gòu)方法:允許在一個類被銷毀前執(zhí)行一些的操作或功能。
析構(gòu)方法名稱必須是__destruct,不能帶參數(shù)。

9、封裝性:
1.把對象的全部屬性和全部服務(wù)結(jié)合在一起,形成一個不可分割的獨(dú)立單位;
2.信息隱蔽,即盡可能隱藏對象的內(nèi)部細(xì)節(jié)。
3.使用關(guān)鍵字private來對屬性和方法進(jìn)行封裝。
注意:私有成員不能被外部訪問,只能通過內(nèi)部訪問。
給類創(chuàng)建接口,可以為私有屬性在外部提供設(shè)置和獲取方法來操作私有屬性。
10、類的繼承extnds:
子類可以自動共享父類的數(shù)據(jù)和方法。單繼承。提高了代碼的重用性

11、重載新的方法:
PHP里面沒有方法重載。不能重載也就是在你的項目中不能定義相同方法名的方法。
重載新的方法就是子類覆蓋父類的已有的方法,我們需要在父類的基礎(chǔ)上擴(kuò)展就需要重載。
雖然說在PHP里面不能定義同名的方法,但是在父子關(guān)系的兩個類中,我們可以在子類中定義和父類同名的方法,這樣就把父類中繼承過來的方法覆蓋掉了。
一種是使用父類的“類名::”來調(diào)用父類中被覆蓋的方法;一種是使用“parent::”的方試來調(diào)用父類中被覆蓋的方法;

12、訪問類型:對類成員的訪問進(jìn)行限制。public,private,protected
public,共有的,沒有訪問限制
private:私有的,內(nèi)部可以訪問,外部和子類不能訪問
protected:保護(hù)的,內(nèi)部和子類可以訪問,外部不能訪問

13、final,這個關(guān)鍵字只能定義類和方法,不能定義屬性,因為final是常量的意思。使用final關(guān)鍵標(biāo)記的類不能被繼承,使用final關(guān)鍵標(biāo)記的方法不能被子類覆蓋,因為是最終版本。

14、static:
在類中描述的成員屬性和成員方法是靜態(tài)的
static成員能夠限制外部的訪問,因為static的成員是屬于類的,是不屬于任何對象實例,是在類第一次被加載的時候分配的空間,其他類是無法訪問的,只對類的實例共享,能一定程度對類該成員形成保護(hù)。
在類的外部不需要對象而使用類名就可以訪問的到靜態(tài)的成員。
類里面的靜態(tài)方法只能訪問類的靜態(tài)的屬性,在類里面的靜態(tài)方法是不能訪問類的非靜態(tài)成員的,原因很簡單,我們要想在本類的方法中訪問本類的其它成員,我們需要使用$this這個引用,而$this這個引用指針是代表調(diào)用此方法的對象,我們說了靜態(tài)的方法是不用對象調(diào)用的,而是使用類名來訪問,所以根本就沒有對象存在,也就沒有$this這個引用了,沒有了$this這個引用就不能訪問類里面的非靜態(tài)成員,又因為類里面的靜態(tài)成員是可以不用對象來訪問的,所以類里面的靜態(tài)方法只能訪問類的靜態(tài)的屬性,既然$this不存在,在靜態(tài)方法中訪其它靜態(tài)成員我們使用的是一個特殊的類“self”;self和$this相似,只不過self是代表這個靜態(tài)方法所在的類。所以在靜態(tài)方法里,可以使用這個方法所在的類的“類名”,也可以使用“self”來訪問其它靜態(tài)成員,如果沒有特殊情況的話,我們通常使用后者,即“self::成員屬性”的方式。
在非靜態(tài)方法里可不可以訪問靜態(tài)成員呢,當(dāng)然也是可以的了,但是也不能使用“$this”引用也要使用類名或是“self::成員屬性的形式”。

15、const是一個定義常量的關(guān)鍵字,用“const”修飾的成員屬性的訪問方式和“static”修飾的成員訪問的方式差不多

16、抽象方法和抽象類
沒有方法體的方法就是抽象方法,抽象方法就是為了方便繼承而引入的.

在方法聲明的時候沒有大括號以及其中的內(nèi)容,而是直接在聲明時在方法名后加上分號結(jié)束,另外在聲明抽象方法時還要加一個關(guān)鍵字“abstract”來修飾。

只要一個類里面有一個方法是抽象方法,那么這個類就要定義為抽象類
抽象類也要使用“abstract”關(guān)鍵字來修飾;
在抽象類里面可以有不是抽象的方法和成員屬性,但只要有一個方法是抽象的方法,這個類就必須聲明為抽象類,使用“abstract”來修飾。

最重要的一點(diǎn)就是抽象類不能產(chǎn)生實例對象,所以也不能直接使用。

將抽象方法是作為子類重載的模板使用的,定義抽象類就相當(dāng)于定義了一種規(guī)范,這種規(guī)范要求子類去遵守,子類繼承抽象類之后,把抽象類里面的抽象方法按照子類的需要實現(xiàn)。
子類必須把父類中的抽象方法全部都實現(xiàn),否則子類中還存在抽象方法,那么子類還是抽象類,還是不能實例化對。

17、https://wenku.baidu.com/view/18b06794dd88d0d233d46a5e.html

18、接口:
接口是一種特殊的抽象類,它里面所有的方法都是抽象方法,接口里面不能聲明變量,可以用const聲明常量,所有成員的權(quán)限都是public,關(guān)鍵字是interface.
解決php不能多繼承的問題。
因為接口是一種特殊的抽象類,里面所有的方法都是抽象方法,所以接口也不能產(chǎn)生實例對象;它也作為一種規(guī)范,所有抽象方法需要子類去實現(xiàn)。 我們可以使用“extends”關(guān)鍵字讓一個接口去繼承另一個接口。
我們定義一個接口的子類去實現(xiàn)接口中全部抽象方法使用的關(guān)鍵字是“implements”,而不是我們前面所說的“extends”。

PHP是單繼承的,一個類只能有一父類,但是一個類可以實現(xiàn)多個接口,就相當(dāng)于一個類要遵守多個規(guī)范,就像我們不僅要遵守國家的法律,如果是在學(xué)校的話,還要遵守學(xué)校的校規(guī)一樣。
//使用implements實現(xiàn)多個接口 class Four implemtns接口一,接口二,….{ //必須把所有接口中的方法都要實現(xiàn)才可以實例化對象。}

PHP中不僅一個類可以實現(xiàn)多個接口,也可以在繼承一個類的同時實現(xiàn)多個接口,一定要先繼承類再去實現(xiàn)接口。
//使用extends繼承一個類,使用implements實現(xiàn)多個接口class Four extends類名一implemtns接口一,接口二,….{ //所有接口中的方法都要實現(xiàn)才可以實例化對象………..}

19、多態(tài)
多態(tài)就是把子類對象賦值給父類引用,然后調(diào)用父類的方法,去執(zhí)行子類覆蓋父類的那個方法,但在PHP里是弱類型的,對象引用都是一樣的不分父類引用,還是子類引用。

20、自動加載類__autoload
在用到什么類的時候,再把這個類所在的PHP文件導(dǎo)入

轉(zhuǎn)載于:https://www.cnblogs.com/lubenxin/p/7192101.html

與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖

總結(jié)

以上是生活随笔為你收集整理的php-面向对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。