PHP中的面向?qū)ο笫鞘裁匆馑??相信很多新手小白對PHP中的面向?qū)ο蟮牧私馓幱阢露疇顟B(tài),小編給總結(jié)了幾個知識點,希望你能收獲更多。
創(chuàng)新互聯(lián)主營漢壽網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP開發(fā)公司,漢壽h5小程序設(shè)計搭建,漢壽網(wǎng)站營銷推廣歡迎漢壽等地區(qū)企業(yè)咨詢
l 面向?qū)ο笥⑽氖荗bject Oriented,拆開來就是
-面向(Oriented)
-對象( Object )
概念:什么是對象
l 世間萬物皆對象
n 一切可見之物
u 一個老人,一臺筆記本
u 一個桌子
u 一個球員
u 一個女主播
n 一切不可見之物也可以是對象
u 一個空氣里的細菌
u 一個抽象的概念
l 抽象,顧名思義,就是抽掉了具體形象的東西。如:人,就可以說是一個相對抽象的概念,因為一個具體的人有性別、年齡、身高、相貌、社會關(guān)系等具體特征,但抽象的“人”就是不包含這些具體特征的一個概念,因此說它是抽象的;而具體的人的概念應(yīng)該是張三、李四等。 因此說,抽象概念一般是指的每一類事物,而不是某一個事物。
l 對象組成包含兩部分
n 對象的組成元素
u 是對象的數(shù)據(jù)模型,用于描述對象的數(shù)據(jù)
u 又被稱為對象的屬性,或者對象的成員變量
n 對象的行為
u 是對象的行為模型,用于描述對象它能做什么事情
u 又被稱為對象的方法
l 每一個對象都是獨一無二
n 比如說張三就是張三,李四就是李四,你家的桌子就是你家的不是別人家的,而且你家臥室的桌子不是客廳的桌子,這些都不能混為一談
l 對象是一個特定的事物,它的職能就是完成特定的功能
n 比如桌子,它就是一張桌子,它就是為了滿足你吃飯的時候的需求,你可以把飯菜盛飯到上面,這樣吃起來就方便
n 再比如球員,它的職能就是傳球,運球,投籃,扣籃,這些就是他們要做的事情
l 對象它是可以重復(fù)使用的
n 比如球員詹姆斯,他打完一場籃球后,還可以繼續(xù)打,不是說打完一場就結(jié)束了,不能再打了
n 再比如,吃飯的桌子,你吃完了,下次再吃的時候,還可以繼續(xù)使用這張桌子,所以它是可以被重復(fù)使用
n 再比如,一輛車子,它從北京開到到廣州,不是說它開到廣州就報廢了,而是可以往返很多次
l 面向就是指在編程的時候,一直把對象放在心中
n 比如你面向墻壁,你一直看到的就是墻壁,
n 比如老師講課,它面向是誰,是學生,所以老師上課的時候要一直面對的是學生
n 面向?qū)ο?,就是編程的時候,心里一直面向著對象
l 面向?qū)ο缶幊蹋傅木褪窃诰幊痰臅r候,把一切數(shù)據(jù)模型轉(zhuǎn)換成對象的結(jié)構(gòu)進行存儲,
n 實際上就是編程的時候,我們把所有的數(shù)據(jù)結(jié)構(gòu),轉(zhuǎn)換成屬性和方法這種對象的形式進行存儲,我們把這種方式就叫做面向?qū)ο缶幊?/p>
對象的描述方式更加貼合真實世界,更加方便我們理解大型項目的業(yè)務(wù)邏輯
n 我們早期的時候是面向過程編程,就是每天講的都是代碼的組織結(jié)構(gòu),但是有了對象的描述方式后,我們還可以說,我寫的就是一個一個的對象,然后他們之間有各種互動
n 在程序設(shè)計的過程當中,這種面向?qū)ο蟮拈_發(fā)方式拉近了代碼和真實世界的距離
l 做任何事情我們都需要觀察事物的本質(zhì),那么面向?qū)ο蟮膶嵸|(zhì)是
n 把生活中要解決的問題,都通過對象的方式進行存儲,什么是對象方式的存儲,就是把數(shù)據(jù)結(jié)構(gòu)存儲為對象的屬性和方法
u 比如我們要做一個家居軟件,里面所有的家居我們都可以用對象的屬性和方法進行表示出來,比如它的大小,顏色,尺寸 等等
方法有哪些呢,比如有的家居是可以折疊的,這個折疊就是它的方法
u 再比如一個球員,它的屬性有什么,身高,年齡,團隊,膚色等等,那方法呢,就比如運球,傳球,投籃,扣籃等這些基本的技能就是球員的方法
l 對象和對象之間的互動,就是通過方法的調(diào)用來完成,這個有點抽象,后面我們會通過實例進行詳細的剖析
n 舉例
u 比如我從教室門口,走了大概10步,來到了講臺中間,緊接著我看向張三,然后問了一個問題,“你好,請問你叫什么名字”,最后張三回復(fù)我:“你好,我叫張三”
這個圖里,對象分別是老師,學生,首先是老師調(diào)用了他自身的方法,方法的順序依次是 走,看,問,緊接著調(diào)用了張三對象的回復(fù)方法
-任何實體都可以稱為對象
l 第二步:識別對象的屬性
n 對象里面存儲的數(shù)據(jù)都是屬性
n 對于不同的業(yè)務(wù)我們要關(guān)注的屬性是有所不同的
u 比如上面的場景中,我們要用面向?qū)ο蟮姆绞桨阉€原,那么關(guān)注的屬性就是名字,身份,方法就是3個,走,看,問
u 比如女主播和球員都是人,但是因為業(yè)務(wù)不同,所以我們關(guān)注的屬性和方法也會不同,比如女主播,我們更關(guān)注的是它的藝名,還有唱歌,球員我們更關(guān)注的是他是哪個球隊的,以及他球技
l 第三步:識別對象的行為
n 比如說對象自己數(shù)據(jù)的改變都是行為
n 對象和外部之間的交互
n 只包含一項特定的職能(職能是可大可?。?/p>
u 比如說球員,他只負責打球,女主播只負責唱歌,雖然他們還可以做其他事情,但是因為業(yè)務(wù)不同,所以職能不同,然后其他的職能就沒有包含進來
n 所有對象相關(guān)的內(nèi)容都封裝在對象內(nèi)部
n 外部的世界只能看見對象的部分屬性,看不到全部的
n 外部世界只能看見對象的部分行為,看不到全部的
u 這個高內(nèi)聚低耦合不關(guān)是對象的一些基本原則,它也是我們整個編程當中的一個重要原則,特別是低耦合更重要一些,為什么這么說呢,因為一旦做到了低耦合,這樣的話,對象之間的依賴關(guān)系會變得非常小,隨之帶來的好處就是,它的可維護性更高了,可擴展性也加強了,比如做一個游戲軟件,這個球員的對象可以被多個游戲使用,這樣在開發(fā)新游戲的時候,可以直接拿來使用,這樣的話,復(fù)用性也增強了
u 高內(nèi)聚的好處就是,你該有的都有了,盡量寫全一點就不會出現(xiàn)缺胳膊少腿的
u 高內(nèi)聚低耦合它不僅僅只是我們設(shè)計對象的時候的基本原則,它也是我們編程的一個重要設(shè)計原則
以上就是PHP中的面向?qū)ο蟮脑敿殐?nèi)容了,看完之后是否有所收獲呢?如果想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊!
當前名稱:PHP中的面向?qū)ο笫鞘裁匆馑??(面向?qū)ο笾R總結(jié))
分享URL:http://aaarwkj.com/article30/pjcpso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、關(guān)鍵詞優(yōu)化、網(wǎng)站設(shè)計公司、搜索引擎優(yōu)化、虛擬主機、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)