導航:首頁 > 編程語言 > php面向對象好處

php面向對象好處

發布時間:2022-11-04 20:01:08

A. 在php程序員里用面向對象寫sql語句好還面向過程好那個效率更快、速度更高

面向對象與面向過程在許多編程語言中只能使用二者之一來進行編程,但是PHP語言與其他編程語言有不同之處,那就是我們可以自由的選擇或者將如果你是剛接觸PHP,用PHP面向過程的風格來書寫代碼很可能是你唯一的選

面向對象與面向過程在許多編程語言中只能使用二者之一來進行編程,但是PHP語言與其他編程語言有不同之處,那就是我們可以自由的選擇或者將 如果你是剛接觸PHP,用PHP面向過程的風格來書寫代碼很可能是你唯一的選擇。但是如果你經常上PHP論壇和新聞組的話,你應該會看到有關「對象」的文章。你也可能看到過如何書寫面向對象的PHP代碼的教程。或者你也可能下載過一些現成的類庫,並嘗試著去實例化其中的對象和使用類方法--盡管你可能沒有真正理解這些類為什麼可以工作,或者為什麼需要使用PHP面向對象的方法來實現功能。

應該使用「面向對象」的風格還是「面向過程」的風格?雙方各有支持者。像「對象是低效的」或「對象非常棒」這樣的議論也時有耳聞。本文不嘗試輕易判定兩種方法的哪種具有絕對的優勢,而是要找出每種方法的優缺點。

以下是PHP面向過程風格的代碼示例:

<?php
print"Hello,world.";
?>
以下是PHP面向對象風格的代碼示例:
<?php
classhelloWorld{
functionmyPrint(){
print"Hello,world.";
}
}
$myHelloWorld=newhelloWorld();
$myHelloWorld->myPrint();
?>
如果你想了解一些「面向對象」的基本知識,請使用Google搜索,網路上有非常多精彩的文章。

誰像這樣寫代碼?

為了理解為什麼這個論題成為論壇上口水戰的導火線,我們看一些每個陣營的比較極端的例子。我們看看「過程狂熱」和「對象狂熱」。看看他們的觀點聽起來是不是有點熟悉。

過程狂熱

過程狂熱曾在上課時被計算機教師批評,因為這種方法沒有使用更加抽象的實現方式。而支持PHP面向過程者的觀點「它可以工作!」並不能提高其編程水平和檔次。畢業後他們可能找到一個工作,寫驅動程序,文件系統或其它的偏向底層的編程,他們的注意力集中於速度和代碼的精煉。

「過程狂熱」極端的例子是抵制對象,抵制抽象化。他們總在想著如何讓程序運行起來更快,而不在乎別人是否能讀懂他們的代碼。他們常常把編程當成競賽而不是團隊活動。除了PHP外,他們最喜愛的編程語言是C和匯編。在PHP世界中他們可能會開發PECL模塊,貢獻出高效率的代碼。

對象狂熱

對象狂熱者熱衷於在任何時候使用PHP面向對象的風格來書寫代碼。他們沒有真正考慮過用這種方式是否會影響程序的執行效率。有時候讓人覺得他們更享受抽象的設計概念而不是現實的代碼。他們通常很可能是項目管理者或文檔書寫者。

對象狂熱者指出,如果沒有抽象的設計方法我們仍然在使用0和1進行編程。他們喜歡用偽碼來描述問題。極端的例子是對象狂熱者即使知道有時候會犧牲效率仍然使用對象。除了PHP,他們最喜歡的語言是java和Smalltalk。在PHP世界中,他們可能會開發PEAR模塊,貢獻文檔化非常好,易於維護的代碼。

不要偏激和諷刺

你知道為什麼論壇上總是充斥著各種偏見嗎?你的經驗閱歷,你對新事物的態度都可能是原因。作為程序員,我們需要時常注意這些偏見並以開放的心態去學習新事物。

你的編碼傾向?

考慮一下當你書寫PHP代碼時有什麼偏好或傾向。通常這些偏好是比較隱晦的。有時候你可能在每個項目中有著同樣的偏好。我個人傾向於「優雅」,但我不想在此定義如何才是「優雅」的代碼,那應當出現在另一篇文章里。但是,理論化的偏好不一定適合於實際項目—相反地,他們常常是一種偏見。

理論化的傾向

•用最少行數的代碼提供一個完整的解決方案

•在問題層次上考慮問題

這聽起來似乎很不錯。但「代碼行數最少」如何來衡量呢?要把代碼注釋算在內嗎?我們是否要把每一行都串起來而只用分號來區分呢?大括弧呢?很明顯這種想法是錯誤的。

再解釋一下什麼是「問題層次」。這是否意味著在我們的方案中的每個概念都需要建立一個類?或者需要在每個獨立的文件里保持問題的每個部分,並建立一個復雜的文件樹來與現實中的問題相對應?就是這樣的想法--為每個想法准備一個文件或類!

很明顯這些概括極端化後變得可笑。但現實中存在更微妙的證明。是否常常會有程序員在團隊合作時插入一行復雜的,強大的但沒有注釋的代碼?這對於接手維護這些代碼的人來說無疑是非常令人沮喪的事。相反地,是否你的官僚的自以為是的上一級程序員常常「橫沖直撞」般地,建立介面和類?而那些介面和類不僅僅限制了負責實現的程序員,也限制了效率和靈活性,導致客戶要求擴展程序時手足無措。這些都是以上各種傾向的微妙的證明。

實際傾向

一個項目開始的時候,首先要尋求實際的編碼目的和方向。這個項目的實現目標是什麼?下面是可能是答案。

•開發快,發布快

•盡可能快地運行

•易於維護,改進和擴展

•發布一個API

第一、二個方向傾向於使用過程化的風格,而最後兩個傾向於使用PHP面向對象的風格。

什麼時候某種方式更有效?

現在讓我們試著評價每種方式在現實中的優勢。

PHP面向過程案例

有關PHP的面向過程化編程優勢的一個基礎性的論據是:PHP是一個解釋性的語言--這意味著,不像其它的語言一樣,它不會被編譯成一個可執行的包,而是被解釋並馬上執行。它是一種腳本語言並存儲於文本文件中(例外的,如果使用了Zend編譯工具)。

另一個反對在PHP4及更低版本中使用面向對象方式進行編碼的理由是:在PHP的早期版本中對象的功能並沒有經過良好設計。就像Rasmus曾說過的:「那是事後才想起要增加的功能」。這意味著在PHP4及更早的版本中,對象的效率是個問題。但PHP5出來後,這種情形會有改觀。

以下兩個最流行的PHP程序--OsCommerce和PhpMyAdmin.主要使用面向過程的編碼方式。它們構建起來很快,運行起來也很快。兩者都很自然地採用嵌入HTML的方法。

OsCommerce

OsCommerce實際上使用了很多對象,但絕大部分功能是通過「過程」來實現的。我曾經hack過OsCommerce,為其增添一些對於客戶非常實用的自定義功能。這個過程是挺麻煩的,因為OsCommerce中的很多過程代碼,沒有使用模板化的系統,並且設計成多語言版,所以需要花一定的時間才能上手。但是它可以工作,事實上它已經很好地運行在數目眾多的電子商務站點上了。OsCommerce同時提供了一個論壇和一個開發框架用來開發模塊和插件。因此,現在已經有了很多其它開發者提供的實用的功能模塊。

PhpMyAdmin

PhpMyAdmin直接使用的類只有一個:MimerSQLValidator類,依賴於PEAR包中的Mail_Mime,Net_DIME和SOAP。這可能是考慮到開發的方便:利用現成的可以實現目的的代碼。除此之外,一切都是面向過程的,HTML和PHP代碼也是混雜在一起。

PhpMyAdmin是我幾乎每天都要用到的一個工具,用來對少量的數據表進行不太復雜的處理。有時我甚至鼓勵我的客戶將它當作後端的管理工具來使用(當然我會限制他們的許可權)。PhpMyAdmin的表現非常棒,也很快。有時我想在一些項目中擴展PhpMyAdmin作為後端的管理工具,利用它的一些新功能如數據查詢語句書簽可以很方便地展示給我的客戶和編輯。隨著每個新版本的推出,PhpMyAdmin越來越實用,功能越來越強大。 軟體開發網

PHP面向過程小結

以上兩個使用面向過程風格的程序都有非常好的文檔和代碼注釋。OsCommerce提供的開發框架可以增加維護性和擴展性。但是兩者都沒有提供API,不能擴展程序到另外的體系中。

如果你想把OsCommerce整合到一個帳單程序中,需要花費大量的時間和精力,就像擴展PhpMyAdmin成一個供客戶使用的後端管理工具。不過從它們設計的目的來看,確實在各自的領域中都表現地很出色。

PHP面向對象案例

支持面向對象風格者的觀點都集中於擴展性和封裝。僅僅用面向對象的方式來寫代碼不會為你的代碼產生文檔,但它可以鼓勵你為之添加文檔。並且,為了易於擴展,你可能會寫一個API。PHP5許諾讓面向對象編程更加愉快。我開玩笑地將它稱為PHP中的」Java2」版本,因為它整合了Java中的許多特性,像介面,面向對象模型,try-catch語句等。但即使在對面向對象支持不

力的PHP4中,仍然出現了許多出色的面向對象應用程序。

Smarty

Smarty用來構建帶有復雜表單並基於模板的站點。最近,我寫了一個可以完全換「皮膚」的在線考試系統—可以不用改變任何底層的代碼和功能就可以將整個站點的外觀界面和風格完全改變。為了讓設計師可以易於設計新的界面,我設計了一個自定義的標簽庫作為Smarty標簽庫的擴展。可以像這樣簡單地插入:

["|"]

在一個頁面的頂端有分隔開的導航。因為Smarty已經提供了非常強大的機制來表現變數中包含的數據,這是一個映射較復雜的Smarty標簽到skin標簽的簡單過程。

由於Smarty封裝成一個類,並且它的方法都有很詳盡的文檔,使得使用模板的過程變得令人難以置信地易於擴展。同時,通過強制性地只能顯式地傳遞你要使用的變數給Smarty模板的方法,Smarty也為PHP的環境變數提供了一個保護層。這種方法有助於在Smarty模板設計師和程序員間建立安全、可靠的工作關系。

Fpdf

FPDF是一個非常優秀的工具。如果你被改來改去的pdflib的API所困惑,或者不願為商業化的解決方案而交錢;或者由於共享主機的限制,無法使用擴展模塊—請考慮使用這個免費的,純PHP構建的PDF生成工具。

這個類有很好的文檔,包括許多很好的例子來闡述如何在PDF中布局文本和圖片。在上面提到的同一個在線學習站點我使用FPDF來動態生成PDF文件,使用truetype字體和300dpi精度的圖像。在PHP中實例化FPDF類並進行PDF操作並不會花費太多額外的時間,因為PDF本身就可能需要花費幾分鍾來下載。事實上,動態生成並傳送一個PDF所花的時間不比當使用一個慢速的網路連接來傳送靜態PDF文件所花的時間多。這都是相對而言的。並且,由於FPDF是基於類的,他可以被擴展。事實上,有些類方法雖然存在但還沒有完全實現,僅作為一個框架,這可以為你在子類中建立你自己的內容(如自定義的頭尾元素)提供向導。

PHP面向對象小結

Smarty和FPDF都提供了帶有良好文檔的API來擴展主類。這說明了在類的內部組織方法和數據的必要性--有時同樣的功能可以用函數和全局變數來完成,但這樣不易於擴展。並且,使用對象對跟蹤和保持PDF或HTML文檔的風格非常有幫助,你可以將同樣的數據用不同的格式來發布。Smarty和FPDF都是使用對象來建立靈活實用的類庫的極好的例子。

為什麼兩種方式都是必需的?

回到我們充滿熱情的程序員身上,我們開始贊美他們:

•我們欣賞Smarty和FPDF的實用性和擴展性

•我們欣賞osCommerce和phpMyAdmin的運行速度和良好表現

這種欣賞還包括對PHP的一些基礎開發。PECL和PEAR都收到了很多贊揚和批評。我想這兩個項目為闡明PHP面向過程和面向對象編程的區別提供了很好的例子。

PECl提供了PHP的擴展庫,用C和面向過程的方式開發,注重速度和簡潔精煉。通常,這些都是從已經存在的LGPL軟體中移植而來,其中許多有趣的特性已經加入PHP。畢竟,PHP是用C寫的。

PEAR則貢獻了很多有趣的類如建立Excel表或改變DNS記錄等。使用PEAR類庫可以為你節約大量時間,甚至可以讓你在不怎麼熟悉PHP的情況進行開發—「我不理解但它能用!」。

總結

希望本文能加深你對PHP面向對象和PHP面向過程的兩種編程方式的理解,並且更重要地—鼓勵你在更具體的細節上進行探索。我希望你會有自己的想法,並在實際開發中檢驗你的項目開發傾向,總結出更多實際的案例,並不嗇寫些針對本文的評論。

總之,每種方式都有其優勢的一面,糾纏於爭論不如離開去寫些實際的代碼!

B. 面向對象編程有哪些好處

據我的理解,試描述一下:

最大的好處應該是讓程序更容易維護,增加了代碼的重復利用效率。

面向對象是一種思維方法,這種設計方法是現實世界我們思考和認識的特點,將代碼世界裡具有相關聯性的數據和對數據的操作放在一起,作為一個相互依存,不可分割的整體來處理。先考慮整體、共性的東西,再考慮個性、個別的東西,有利於問題的簡單化。

比如,車是一個共性的概念,在車的共性基礎上,派生出像自行車、汽車、火車等等。

C. php中面向對象編程是什麼意思,到底用在什麼地方,用一個項目中的實際例子來舉例說明

可以這樣理解,
1、類是模具,對象是模具生成的產品,就是印刷術一樣,有了一個字一個字的模子,要印出一個字來就方便了,想印就印,你可以印,我也可以印。
2、在PHP中怎麼做一個模具出來呢,就用 class申明,它就表示你要造一個模具了,但這個模具是做什麼用的,就要在裡面添加函數來表達了,函數名就是這個類的方法名,函數完成的功能就是類的方法。當然函數要實現功能代碼中肯定要用到變數,這個就是所謂的類的成員以或者說成是類的屬性。
3、有了類的屬性有了類的方法,這就完成了一個類的定義,也就是模具做好了,接下來要理解的就是,怎樣去用這個類了。就好像是要看一本書你不可能到印刷廠去把字的模具拿來拼成一頁一頁書來看吧,肯定是在紙上印刷出來。這個印刷的過程就是對象生成的過程也叫類的實例化。PHP中用new關鍵字來生成對象。比如前面定義的類名為 牛,這個牛有一個方法(函數)是:耕地。當然耕地這個函數,要怎樣去實現那是另外要的事情了。現在要說的是怎麼用牛的耕地方法,首先實例化,在PHP中這樣表示:牛1= new 牛。這樣 牛這個類 就有了一個具體可以使喚的牛1了 要想用牛1的耕地方法,意思就是「調用類(對象)的方法」,PHP中這樣表示,牛1->耕地;如果你想要100頭牛,就new100個出來就行,而不用每當要用牛的時候都去寫牛的代碼和牛耕地的代碼了。
4、上面說的是一個理解過程,要實現就要用到具體的PHP的語法了,比如怎樣申明變數 ,怎樣賦值,怎樣用運算符來運算,怎樣寫循環結構,怎樣寫選擇結構,等等 。

D. php的好處有什麼

PHP是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域。PHP 獨特的語法混合了C、Java、Perl以及PHP自創的語法。它可以比CGI或者Perl更快速地執行動態網頁。用PHP做出的動態頁面與其他的編程語言相比,PHP是將程序嵌入到HTML(標准通用標記語言下的一個應用)文檔中去執行,執行效率比完全生成HTML標記的CGI要高許多;PHP還可以執行編譯後代碼,編譯可以達到加密和優化代碼運行,使代碼運行更快。

PHP的特性包括:
1. PHP 獨特的語法混合了 C、Java、Perl 以及 PHP 自創新的語法。
2. PHP可以比CGI或者Perl更快速的執行動態網頁——動態頁面方面,與其他的編程語言相比,
PHP是將程序嵌入到HTML文檔中去執行,執行效率比完全生成htmL標記的CGI要高許多;
PHP具有非常強大的功能,所有的CGI的功能PHP都能實現。
3. PHP支持幾乎所有流行的資料庫以及操作系統。
4. 最重要的是PHP可以用C、C++進行程序的擴展!

E. PHP的優勢在哪

在多數WEB開發者眼中,ASP和JSP都被認為是領跑者,而PHP卻被認為是個弱小的「掙扎者」,或者說它是一門被貶低為業余者才使用的語言,不值得參與企業Web開發的競爭。在我看來,PHP沒有被當作競爭者的理由是評論者缺乏對它的了解,而且也不了解用於Web開發的其他操作系統。和一些觀點相反,Windows不再佔有Web虛擬主機服務市場的最大份額,我猜想它在Web開發這一領域里也在被摧城拔寨。

在企業開發里為什麼沒有PHP?

很顯然,PHP被認為落後ASP和JSP太多,以至於它是沒有什麼用的,但是這恰恰與事實不符。PHP本身就是一門強大的語言。它事實上在每個發行版的Linux上都有,在Mac OS X上也有。獲取開發和使用PHP代碼的構件(building-block)工具和軟體都是免費的。用於開發PHP應用程序的商業集成開發環境(commercial integrated development environments,IDES)也可以找到——這樣的工具有Komodo(它運行在Linux和Windows上)和Zend Studio(這個應用程序能夠運行在任何帶有Java運行環境的操作系統上)。你幾乎可以在每個Web虛擬主機上運行由PHP建立的網站,而不要考慮伺服器所運行的是什麼操作系統,這一事實讓PHP更加具有吸引力。

PHP能夠提供什麼?

先把PHP周圍有什麼忘掉一會兒,而考慮一下PHP自身能夠提供什麼。它是一門強健的伺服器端語言,能夠提供相當多的功能,而且能夠迅速地為頁面提供服務。

容易使用

使用C或者Perl或者具有類似風格和句法的另一種語言的任何用戶都能夠很快上手PHP。盡管它是設計用在Web上的,但是它也能夠作為命令行語言使用。你正在編寫的Web應用程序需要每個小時或者每天執行一次某些代碼嗎?使用cron或者類似的計劃安排管理器,你可以計劃安排PHP代碼在你希望的時候執行,使用普通的命令解釋腳本或者批處理文件就能夠執行這樣的代碼。不需要自動調用瀏覽器就能夠查看專門的網頁,從而執行你的事件,也沒有必要依賴來訪者的點擊來告訴你的系統:特定的代碼需要在特定的時候被執行。PHP在這一領域可擴展性的事實是絕對具有吸引力的。

PHP的好處

我不是JSP或者ASP的老手,在此我也不想貶低這些語言。相反,我會把注意力放在PHP的好處上。

本地化
PHP讓你能夠為網站的訪問者提供本地化的服務。當用戶點擊進入網站的時候,網站會根據他們瀏覽器的設置自動地以其母語向其提供頁面。要實現這一點不需要使用用於語言翻譯的煩雜文件,而是使用和本地化的C程序所具有的相同能力,通過一個叫做gettext的系統實現的。如果被請求的語言文件存在,那麼用戶所看到的文本就是其母語;如果語言文件不存在,那麼文本就是預設的英語或者其他任何你所指定的語言。許多本地化的UNIX應用程序都將gettext作為標准,它讓第三方的翻譯變得輕而易舉。

輕易地使用命令行
PHP支持在需要的地方設置和執行命令行程序。使用標準的UNIX diff工具,它能夠生成錯誤最後一次修改同要使用電子郵件發送到錯誤的所有者的當前注釋之間的不同。PHP代碼對在系統上所編寫的兩個文件執行diff,將其輸出作為輸入,再生成一個要發送的電子郵件。這封電子郵件是通過PHP自己來發送的。

其他好處
上面的只是我在自己程序里所用到的強大功能中的兩個,而還其他的功能。例如,你可以:

即時創建簡單的Flash動畫。
即時創建PDF文檔。
使用高級數學功能,以及面向對象的編程技術。
讀取和寫入到本地和IMAP郵箱。
在PHP里就可以使用任何標準的Internet協議。想要編寫基於PHP的FTP、Web或者新聞客戶端?沒有問題!只使用PHP你就完全能夠編寫出使用標准TCP/IP套接字的客戶端和伺服器,並以此創建自己的協議。
實現對加密的支持,以及對各種資料庫伺服器的支持。
缺乏遠見的評論

我覺得,那些尋找頂級Web開發語言而排除掉PHP的人是極其短見的。我使用PHP編寫代碼已經有很多年了,無論是像錯誤追蹤系統這樣的高級功能,還是簡單地重復使用頁眉和頁腳這樣的普通功能,我都使用PHP編寫過。我用PHP編寫過半靜態的頁面,也編寫過全功能的多媒體演示。我不是唯一一個使用PHP的人。如果PHP不值得引起注意,如果它只是小兒科或者愛好者的語言,那它為什麼會是在Web開發上成長最快的語言呢?如果它沒有ASP或者JSP那麼強大,那麼它為什麼會被用在流量巨大Web網站上?例如Yahoo,據說它就是由PHP建成的。

開發人員習慣用熟悉的產品

我敢肯定,ASP 和JSP有它們各自的強項,但是我相信人們是用它們不是因為它們能夠提供比PHP更加強大的功能,而是因為人們已經了解了它們,並希望以自己習慣的方法編寫代碼。排除PHP只能表示對這一語言的無知。

F. 面向對象程序設計的優點是什麼

1、維護簡單
面向對象程序設計的一個特徵就是模塊化。實體可以被表示為類以及同一名字空間中具有相同功能的類,可以在名字空間中添加一個類而不影響該名字空間的其他成員。這種特徵為程序的維護提供了便捷性。


2、可擴充性
如果有一個具有某一種功能的類,就可以擴充這個類,創建一個具有擴充功能的類。


3、代碼重用
功能是被封裝在類中的,類是作為一個獨立實體而存在的,因此可以很簡單的提供類庫,使代碼得以重復使用。

(6)php面向對象好處擴展閱讀

面向對象程序設計(Object Oriented Programming)作為一種新方法,其本質是以建立模型體現出來的抽象思維過程和面向對象的方法。模型是用來反映現實世界中事物特徵的。任何一個模型都不可能反映客觀事物的一切具體特徵,只能對事物特徵和變化規律的一種抽象,且在它所涉及的范圍內更普遍、更集中、更深刻地描述客體的特徵。通過建立模型而達到的抽象是人們對客體認識的深化。

G. 面向對象有什麼特點和好處

面向對象(Object Oriented,OO)是當前計算機界關心的重點,它是90年代軟體開發方法的主流。面向對象的概念和應用已超越了程序設計和軟體開發,擴展到很寬的范圍。如資料庫系統、互動式界面、應用結構、應用平台、分布式系統、網路管理結構、CAD技術、人工智慧等領域。
面向對象的特徵

(1)對象唯一性。
每個對象都有自身唯一的標識,通過這種標識,可找到相應的對象。在對象的整個生命期中,它的標識都不改變,不同的對象不能有相同的標識。

(2)分類性。
分類性是指將具有一致的數據結構(屬性)和行為(操作)的對象抽象成類。一個類就是這樣一種抽象,它反映了與應用有關的重要性質,而忽略其他一些無關內容。任何類的劃分都是主觀的,但必須與具體的應用有關。

(3)繼承性。
繼承性是子類自動共享父類數據結構和方法的機制,這是類之間的一種關系。在定義和實現一個類的時候,可以在一個已經存在的類的基礎之上來進行,把這個已經存在的類所定義的內容作為自己的內容,並加入若干新的內容。

繼承性是面向對象程序設計語言不同於其它語言的最重要的特點,是其他語言所沒有的。

在類層次中,子類只繼承一個父類的數據結構和方法,則稱為單重繼承。
在類層次中,子類繼承了多個父類的數據結構和方法,則稱為多重繼承。
在軟體開發中,類的繼承性使所建立的軟體具有開放性、可擴充性,這是信息組織與分類的行之有效的方法,它簡化了對象、類的創建工作量,增加了代碼的可重性。
採用繼承性,提供了類的規范的等級結構。通過類的繼承關系,使公共的特性能夠共享,提高了軟體的重用性。

(4)多態性(多形性)
多態性使指相同的操作或函數、過程可作用於多種類型的對象上並獲得不同的結果。不同的對象,收到同一消息可以產生不同的結果,這種現象稱為多態性。
多態性允許每個對象以適合自身的方式去響應共同的消息。
多態性增強了軟體的靈活性和重用性。
.
.
使用面向對象思想進行開發有以下優點:
1、易維護
採用面向對象思想設計的結構,可讀性高,由於繼承的存在,即使改變需求,那麼維護也只是在局部模塊,所以維護起來是非常方便和較低成本的。
2、質量高
在設計時,可重用現有的,在以前的項目的領域中已被測試過的類使系統滿足業務需求並具有較高的質量。
3、效率高
在軟體開發時,根據設計的需要對現實世界的事物進行抽象,產生類。使用這樣的方法解決問題,接近於日常生活和自然的思考方式,勢必提高軟體開發的效率和質量。
4、易擴展
由於繼承、封裝、多態的特性,自然設計出高內聚、低耦合的系統結構,使得系統更靈活、更容易擴展,而且成本較低。

H. PHP的面向對象究竟是什麼概念

這樣說吧,
在我們初步學習的面向過程程序設計方法,比如C語言中:
程序=演算法+數據結構;

但是面向對象程序設計方法,如C++,和後來的PHP等語言:
程序=(演算法+數據結構);

就是說演算法與數據結構組成一個整體,而這個整體就是類,把類詳細化了就是一個一個具體的對象。

比如定義一個類,再用類聲明一個對象:
class Student()
{....functions()
protected:
int a;
char b;
}
Student xiao;

Student就是一個類,xiao就是一個對象。

像樓主說的那樣,對象除了封裝方法(我們也可以稱之為演算法)之外,還可以有一些數據成員,比如上面的a,b,所以類封裝不只封裝了演算法,還有這些演算法之下的數據!

從某方面來說,面向對象是函數的升級,因為這類也是可以在主函數外定義的,這也可以將其看作是一種特殊的函數(個人看法啊),我們可以調用這「函數」中的數據和方法。所以樓主說的在廣義上也是成立的!

另外,建議樓主先閱讀下C++有關課程的關於面向對象的論述,可能會對你有所幫助!

I. 面向對象編程的優點和缺點分別是什麼

面向對象出現在java,python,perl裡面,以類的形式出現。一個類是一個完整的體系,例如在游戲編程時,可以對不同模塊封裝成類,到時候調用就可以了。打個比方吧,一個類就是一個多功能的冰箱,可以冷藏,可以保溫,冰箱自己就是一個整體,而在實際問題中,做飯的時候,我們調用它的儲藏功能與電飯鍋等等解決實際問題。跟函數不一樣,函數著重於過程,一個函數解決一個問題,而類本身有很多功能,可以拓展,繼承,調用某些功能。

閱讀全文

與php面向對象好處相關的資料

熱點內容
程序員禿頂搞笑相遇 瀏覽:6
IBM手機app商店叫什麼名字 瀏覽:834
jpeg壓縮質量 瀏覽:774
雲伺服器評測對比 瀏覽:143
java日期轉string 瀏覽:221
openfire源碼編譯 瀏覽:897
在線小工具箱引流網站源碼 瀏覽:335
非科班程序員自學 瀏覽:799
壓縮泡沫鞋底底材 瀏覽:219
程序員職場第一課2正確的溝通 瀏覽:679
遇到不合法app應該怎麼辦 瀏覽:90
匯編程序編譯後的文件 瀏覽:77
大智慧均線源碼 瀏覽:373
單片機排阻的作用 瀏覽:215
滴滴金融app被下架如何還款 瀏覽:212
jpg轉換成pdf免費軟體 瀏覽:743
范里安pdf 瀏覽:447
偽造pdf 瀏覽:78
能刪除android文件夾嗎 瀏覽:446
LINUX使用V2ray 瀏覽:797