PHP面向對象究竟是啥?

  (一)、面向目標的基本概念
  一、什麼是目標
  l面向目標英文是ObjectOriented,拆開來即是
  -面向(Oriented)
  -目標(Object)
  概念:什麼是目標
  l人間萬物皆目標
  n悉數可見之物
  u一個白叟,一臺筆記本
  u一個桌子
  u一個球員
  u一個女主播
  n悉數不行見之物也可以是目標
  u一個空氣裏的細菌
  u一個籠統的概念
  l籠統,顧名思義,即是抽掉了詳細形象的東西。如:人,就可以說是一個相對籠統的概念,因爲一個詳細的人有性別、年紀、身高、容顏、社會聯繫等詳細特徵,但籠統的「人」即是不包括這些詳細特徵的一個概念,於是說它是籠統的;而詳細的人的概念應該是張3、李四等。於是說,籠統概念通常是指的每一類事物,而不是某一個事物。
  二、目標的組成
  l目標組成包括兩部分
  n目標的組成元素
  u是目標的數據模型,用於描述目標的數據
  u又被稱爲目標的特色,或許目標的成員變量
  n目標的行爲
  u是目標的行爲模型,用於描述目標它能作什麼工做
  u又被稱爲目標的辦法
  三、目標的特點
  l每個目標都是絕無僅有
  n比方說張三即是張三,李四即是李四,你家的桌子即是你家的不是別人家的,並且你家臥室的桌子不是客廳的桌子,這些都不能混爲一談
  l目標是一個特定的事物,它的功能即是完成特定的功能
  n比方桌子,它即是一張桌子,它即是爲了知足你吃飯的時分的需求,你可以把飯菜盛飯到上面,這樣吃起來就便利
  n再比方球員,它的功能即是傳球,運球,投籃,扣籃,這些即是他們要作的工做
  l目標它是可以重複運用的
  n比方球員詹姆斯,他打完一場籃球后,還可以持續打,不是說打完一場就結束了,不能再打了
  n再比方,吃飯的桌子,你吃完了,下次再吃的時分,還可以持續運用這張桌子,因此它是可以被重複運用
  n再比方,一輛車子,它從北京開到到廣州,不是說它開到廣州就報廢了,而是可以往復很多次
  四、什麼是面向目標
  l面向即是指在編程的時分,一貫把目標放在心中
  n比方你面向牆面,你一貫看到的即是牆面,
  n比方教師講課,它面向是誰,是學生,因此教師上課的時分要一貫面臨的是學生
  n面向目標,即是編程的時分,內心一貫面向着目標
  l面向目標編程,指的即是在編程的時分,把悉數數據模型轉換成目標的結構進行存儲,
  n實際上即是編程的時分,我們把一切的數據結構,轉換成特色和辦法這種目標的辦法進行存儲,我們把這種辦法就叫作面向目標編程
  五、爲何要運用面向目標
  目標的描述辦法越發貼合實在國際,越發便利我們瞭解大型項目的事務邏輯
  n我們早期的時分是面向進程編程,即是天天講的都是代碼的組織結構,但是有了目標的描述辦法後,我們還可以說,我寫的即是一個一個的目標,而後他們之間有各類互動
  n在程序規劃的進程傍邊,這種面向目標的開發辦法拉近了代碼和實在國際的間隔
  六、面向目標的本質
  l作任何工做我們都須要調查事物的本質,那麼面向目標的本質是
  n把生活中要處理的問題,都經過目標的辦法進行存儲,什麼是目標辦法的存儲,即是把數據結構存儲爲目標的特色和辦法
  u比方我們要作一個家居軟件,裏邊一切的家居我們都可以用目標的特色和辦法進行表示出來,比方它的大小,顏色,尺度等等
  辦法有哪些呢,比方有的家居是可以摺疊的,這個摺疊即是它的辦法
  u再比方一個球員,它的特色有什麼,身高,年紀,團隊,膚色等等,那辦法呢,就比方運球,傳球,投籃,扣籃等這些基本的技能即是球員的辦法
  l目標和目標之間的互動,即是經過辦法的調用來完成,這個有點籠統,後邊我們會經過實例進行詳細的分析
  n舉例
  u比方我從教室門口,走了大約10步,來到了講臺中心,緊接着我看向張三,而後問了一個問題,「你好,請問你叫什麼姓名」,最後張三回覆我:「你好,我叫張三」
  這個圖裏,目標分別是教師,學生,首先是教師調用了他自身的辦法,辦法的順序依次是走,看,問,緊接着調用了張三目標的回覆辦法
  七、面向目標的基本思路
  l第一步:辨認目標
  -任何實體都可以稱爲目標
  l第二步:辨認目標的特色
  n目標裏邊存儲的數據都是特色
  n關於不一樣的事務我們要重視的特色是有所不一樣的
  u比方上面的場景中,我們要用面向目標的辦法把它復原,那麼重視的特色即是姓名,身份,辦法即是3個,走,看,問
  u比方女主播和球員都是人,但是因爲事務不一樣,因此我們重視的特色和辦法也會不一樣,比方女主播,我們更重視的是它的藝名,還有歌唱,球員我們更重視的是他是哪一個球隊的,以及他球技
  l第三步:辨認目標的行爲
  n比方說目標本身數據的改變都是行爲
  n目標和外部之間的交互
  八、面向目標的基本準則
  l目標內部是高內聚的
  n只包括一項特定的功能(功能是可大可小)
  u比方說球員,他只擔任打球,女主播只擔任歌唱,雖然他們還可以作其餘工做,但是因爲事務不一樣,因此功能不一樣,而後其餘的功能就沒有包括進來
  n一切目標相關的內容都封裝在目標內部
  l目標外部它是低耦合的
  n外部的國際只能看見目標的部分特色,看不到悉數的
  n外部國際只能看見目標的部分行爲,看不到悉數的
  u這個高內聚低耦合不關是目標的一些基本準則,它也是我們整個編程傍邊的一個重要準則,特別是低耦合更重要一些,爲何這麼說呢,因爲一旦作到了低耦合,這樣的話,目標之間的依賴聯繫會變得很是小,隨之帶來的優勢即是,它的可維護性更高了,可擴展性也增強了,比方作一個遊戲軟件,這個球員的目標可以被多個遊戲運用,這樣在開發新遊戲的時分,可以直接拿來運用,這樣的話,複用性也加強了
  u高內聚的優勢即是,你該有的都有了,儘可能寫全一點就不會呈現缺胳膊少腿的
  u高內聚低耦合它不只僅只是我們規劃目標的時分的基本準則,它也是我們編程的一個重要規劃準則編程

相關文章
相關標籤/搜索