熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

PHP5學習筆記第一節面向對象編程

2013-11-15 12:21:35  來源: PHP編程 

  /*
  
  +——+
  
  | = 本文為Haohappy讀<<Core PHP Programming>>
  
  | = 中Classes and Objects一章的筆記
  
  | = 翻譯為主+個人心得
  
  | = 為避免可能發生的不必要的麻煩請勿轉載謝謝
  
  | = 歡迎批評指正希望和所有PHP愛好者共同進步!
  
  +——+
  
  */
  
  第一節——面向對象編程
  
  面向對象編程被設計來為大型軟件項目提供解決方案尤其是多人合作的項目 當源代碼增長到一萬行甚至更多的時候每一個更動都可能導致不希望的副作用 這種情況發生於模塊間結成秘密聯盟的時候就像第一次世界大戰前的歐洲
  
  //haohappy注喻指模塊間的關聯度過高相互依賴性太強更動一個模塊導致其它模塊也必須跟著更動
  
  想像一下如果有一個用來處理登錄的模塊允許一個信用卡處理模塊來分享它的數據庫連接 當然出發點是好的節省了進行另一個數據庫連接的支出然而有時登錄處理模塊改變了其中一個變量的名字就可能割斷了兩者間的協議導致信用卡模塊的處理出錯進而導致處理發票的模塊出錯 很快地體系中所有無關的模塊都可能由此出錯
  
  因此我覺得有點戲劇性地絕大多數程序員都對耦合和封裝心存感激 耦合是兩個模塊間依賴程度的量度 耦合越少越好我們希望能夠從已有的項目中抽走一個模塊並在另一個新項目中使用
  
  我們也希望在某個模塊內部大規模的更動而不用擔心對其他模塊的影響 封裝的原則可以提供這個解決方案模塊被看待成相對獨立並且模塊間的數據通信通過接口來進行 模塊不通過彼此的變量名來窺探另一個模塊它們通過函數來禮貌地發送請求
  
  封裝是你可以在任何編程語言中使用的一個原則 在PHP和許多面向過程的語言中可以偷懶是很有誘惑的沒有什麼可以阻止你通過模塊來構建一個假想的WEB 面向對象編程是使程序員不會違背封裝原則的一種方法
  
  在面向對象編程中模塊被組織成一個個對象 這些對象擁有方法和屬性 從抽象的角度來看方法是一個對象的所做的動作而屬性是對象的特性從編程角度來看方法就是函數而屬性是變量 在一個理想化的面向對象體系中每個部份都是一個對象 體系由對象及對象間通過方法來形成的聯系構成
  
  一個類定義了對象的屬性 如果你在烘烤一組甜餅對象那麼類將會是甜餅機 類的屬性和方法是被調用的成員 人們可以通過說出數據成員或者方法成員來表達
  
  每種語言提供了不同的途徑來訪問對象 PHP從C++中借用概念提供一個數據類型用來在一個標識符下包含函數和變量最初設計PHP的時候甚至PHP被開發出時PHP並不打算提供開發超過萬行代碼的大型項目的能力隨著PHP和Zend引擎的發展開發大型項目變得有可能但無論你的項目規模多大用類來書寫你的腳本將可以讓代碼實現重用這是一個好主意特別當你願意與別人分享你的代碼的時候
  
  有關對象的想法是計算機科學上最令人興奮的概念之一開始很難掌握它但我可以保證一旦你掌握了它用它的思維來思考將會非常自然
From:http://tw.wingwit.com/Article/program/PHP/201311/20801.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.