作者:Leon Atkinson 翻譯:Haohappy面向對象編程被設計來為大型軟件項目提供解決方案,尤其是多人合作的項目. 當源代碼增長到一萬行甚至更多的時候,每一個更動都可能導致不希望的副作用 " /> 美女的胸无遮挡在线观看,粉嫩av一区二区三区,成人中文字幕视频

色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

Classes and Objects in PHP5-面向對象編程 [1]


作者:Leon Atkinson 翻譯:Haohappy面向對象編程被設計來為大型軟件項目提供解決方案,尤其是多人合作的項目. 當源代碼增長到一萬行甚至更多的時候,每一個更動都可能導致不希望的副作用. 這種情況發生于模塊間結成秘密聯盟的時候,就像第一次世界大戰前的歐洲.

//haohappy注:喻指模塊間的關聯度過高,相互依賴性太強.更動一個模塊導致其它模塊也必須跟著更動.

想像一下,如果有一個用來處理登錄的模塊允許一個信用卡處理模塊來分享它的數據庫連接. 當然出發點是好的,節省了進行另一個數據庫連接的支出.然而有時,登錄處理模塊改變了其中一個變量的名字,就可能割斷了兩者間的協議.導致信用卡模塊的處理出錯,進而導致處理發票的模塊出錯. 很快地,體系中所有無關的模塊都可能由此出錯.

因此,我覺得有點戲劇性地,絕大多數程序員都對耦合和封裝心存感激. 耦合是兩個模塊間依賴程度的量度. 耦合越少越好.我們希望能夠從已有的項目中抽走一個模塊并在另一個新項目中使用.

我們也希望在某個模塊內部大規模的更動而不用擔心對其他模塊的影響. 封裝的原則可以提供這個解決方案.模塊被看待成相對獨立,并且模塊間的數據通信通過接口來進行. 模塊不通過彼此的變量名來窺探另一個模塊,它們通過函數來禮貌地發送請求.

封裝是你可以在任何編程語言中使用的一個原則. 在php和許多面向過程的語言中,可以偷懶是很有誘惑的.沒有什么可以阻止你通過模塊來構建一個假想的WEB. 面向對象編程是使程序員不會違背封裝原則的一種方法.


在面向對象編程中,模塊被組織成一個個對象. 這些對象擁有方法和屬性. 從抽象的角度來看,方法是一個對象的所做的動作,而屬性是對象的特性.從編程角度來看,方法就是函數而屬性是變量. 在一個理想化的面向對象體系中,每個部份都是一個對象. 體系由對象及對象間通過方法來形成的聯系構成.

一個類定義了對象的屬性. 如果你在烘烤一組甜餅對象,那么類將會是甜餅機. 類的屬性和方法是被調用的成員. 人們可以通過說出數據成員或者方法成員來表達.


每種語言提供了不同的途徑來訪問對象. php從C++中借用概念,提供一個數據類型用來在一個標識符下包含函數和變量。最初設計php的時候,甚至php3被開發出時,php并不打算提供開發超過10萬行代碼的大型項目的能力。隨著php和Zend引擎的發展,開發大型項目變得有可能,但無論你的項目規模多大,用類來書寫你的腳本將可以讓代碼實現重用。這是一個好主意,特別當你愿意與別人分享你的代碼的時候。

有關對象的想法是計算機科學上最令人興奮的概念之一。開始很難掌握它,但我可以保證,一旦你掌握了它,用它的思維來思考將會非常自然。

php技術Classes and Objects in PHP5-面向對象編程 [1],轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 莲花县| 冀州市| 鞍山市| 三亚市| 乌兰浩特市| 西华县| 常州市| 建德市| 都昌县| 鄂伦春自治旗| 左贡县| 湖北省| 天津市| 留坝县| 大化| 卢湾区| 辽阳市| 当涂县| 保山市| 皋兰县| 横山县| 合水县| 泽州县| 怀远县| 东宁县| 怀远县| 阿瓦提县| 澳门| 宜都市| 涞源县| 马尔康县| 安顺市| 浠水县| 积石山| 平原县| 宁国市| 宝丰县| 南宁市| 扎鲁特旗| 南康市| 昔阳县|