1. 怎樣才能算是真正的面向對象編程思想
要能應用面向對象的思想熟練得做好系統分析、設計、實現(編程),首先需要研發人 員知道什麼是對象,什麼是面向對象得概念,否則是談不上應用面向對象得思想搞軟體研發 了。
希望在看到我在前面的不太嚴密、周詳的論述之後能夠對「對象」這個概念由一 個初步的了解,同時也希望有不同看法的同行提出批評。其次,還需要研發人員有比較豐富的開 發經驗。否則,光談理論,那是不能真正體會「面向對象」的含義的。盡管如此,我們還是 能夠定出一般的規則的。
拋開生命周期的其他階段,對一個確立的系統一般能夠進行以下幾 個過程:
一、首先應用面向對象的思想進行系統分析。仔細的劃分系統的各個部分,明確他 們之間的層次關系,然後將各個部分作為一個對象進行功能上的分析。例如,要設計一個用 戶界面,他可能由幾個主要的窗體組成:主窗體MainFrame、功能性子窗體FunctionFrame 連同對話對話框Dialog。其中,MainFrame中可能還包括菜單、工具條、文本框、狀態條等 Windows組件。對於要完成一些重要功能的組件,我們能夠單獨將他作為一個對象看待,在 具體的實現中,用單獨一個類來表示。而一些並不是很重要的、只是在過程中需要用到的組 件,就能夠將他們集成到其他對象中去。要明確每個對象自己的任務――不要讓他有缺陷, 也不能越殂代庖。各個對象之間的關系通過過程、內容、功能等耦合來實現。 實際上,假如您是用java進行研發,您會發現swing組件本身就很好用,因為他們 之間的關系是很分明的――您無須去理解分清象C++中的組件那樣復雜的關系。在研發您自 己的組件時,也需要力求達到這樣的效果。
二、其次時應用面向對象的思想進行系統設計。其實在真正做好了系統分析的工作之後, 進行設計就比較輕鬆了。這段時間只要進一步確定各個對象的功能連同各個對象之間的關系 。為了能夠更好地幫助實現人員明白各個對象之間的關系,能夠利用一些工具將這些組件的 關系表示出來,統一建模語言(Uniformed Mole Language,UML)就是這樣的一種好東 西。他不但能夠現在幫助研發人員了解整個系統,也為以後的維護工作提供一個檔案文檔, 給以後的工作提供巨大的方便。
三、實現(編碼)。這一點就不用多說了。在我的下一篇文章中,將會給出一個比較簡 單的實例,希望會給讀者一個啟發。 在搞軟體研發時,編碼不是最重要的。分析、設計才是最重要的。也許當我們接受了一 些更先進的思想之後,會更加理解這一點了。希望我們中國的軟體研發人員能應用面向對象 的思想研發出具備國際競爭力的優秀軟體。
2. 幫忙 舉例說明什麼是面向對象程序設計的思想 謝謝
面向對象的程序設計語言必須有描述對象及其相互之間關系的語言成分。這些程序設計語言可以歸納為以下幾類:系統中一切皆為對象;對象是屬性及其操作的封裝體;對象可按其性質劃分為類,對象成為類的實例;實例關系和繼承關系是對象之間的靜態關系;消息傳遞是對象之間動態聯系的唯一形式,也是計算的唯一形式;方法是消息的序列。
好比一個一個的人.這個人拿著一把刀.人與刀都是實物.所以說兩個的關系就是對象,那麼人有什麼屬性呢?比人有攻擊力=100,刀有攻擊力150 那麼人+刀就是對象
3. java什麼是面向對象編程思想
面向對象思想是相對於C語言中的面向過程編程思想。我們用java做一件事,只用去new一個對象,並且去調用這個對象的方法,就可以實現我們所要的業務,而這個對象的具體方法做了什麼,具體過程,我們就不用去關注了!這就是面向對象編程思想。
4. 什麼是面向對象的編程思想
打個比方,比如蓋房子,以前蓋房子是用泥一點一點壘起來的,這種從泥到房子就是一個過程;
而現在蓋房子是用泥燒好磚,再用磚砌成房子,這種用現成的磚砌房子的思想就是我們所謂的面向對象的編程思想,蓋房子所用的磚即是面向對象編程中所引用的類(也就是說編程時不需要從頭到尾把源碼寫出來,中間可以引用封裝在包里的具有各種功能的各個類來完成我們需要的動作或要求)。
5. 談談你對面向對象思想的理解
怎麼理解面向對象思想呢?
面向對象
面向對象編程,即OOP,面向對象的概念和應用已經超越了程序設計、軟體開發領域,現在已經發展到了各個領域。
面向對象可以說是對現實世界理解和抽象的方法,是計算機編程技術發展到一定階段的產物。
它的特點:抽象 封裝 繼承 多態
用我的話說,其實可以這么理解,假如我是上帝,我要造 人 (這是對象)。
首先,我要知道人類要有哪些最基本的東西 ?
人要有思想,人還要有肉體
這個過程呢就是(抽象)
因為人的數量很龐大,所以我需要找別人幫我一起造人,但是我不想讓他知道我造人的技術(人的臉需要用多少克泥巴,需要怎麼用手去捏鼻子等等),我可以把我的造人的技術封裝起來,別人只需要知道他要做什麼樣的人類就好了。【封裝】
當我自己造人的時候,我可能造著造著就累了,我可能就要用我之前造出來的某個泥人作為模板「復制」,「粘貼」了
用模板創出來的泥人具有模板的特徵,就像孩子一樣具有父母的性狀。我們稱這個過程為【繼承】
但是呢 好多泥人都是我後來偷懶用模板復制出來的,為了讓人類更豐富多彩一些,我對他們又進行了改變。這個過程可以叫【多態】
接下來我舉個栗子來區分面向過程和面向對象
例子:是如何將大象裝進冰箱
為了解決這個問題,我們採用兩種方案,一種是面向過程方案,另一種是面向對象方案
面向過程:
總共分三個過程,第一個過程:冰箱門打開(關著門的冰箱) 返回值是打開門的冰箱
第二個過程:大象裝進去(打開門的冰箱) 返回值是打開著門,裝著大象的冰箱
第三個過程:冰箱門關上(打開著門,裝著大象的冰箱) 返回值關著門的裝著大象的冰箱
面向對象:
總共分三個動作,(每個動作都有一個對象去執行)
第一個動作:冰箱.開門()
第二個動作:冰箱.裝進(大象)
第三個動作:冰箱.關門()
或者是鏈式調用冰箱.開門().裝進(大象).關門()
以上就是我對面向對象理解的全部內容,希望對各位同學有所幫助!
6. 什麼是面向對象的編程思想可以用一個形象的例子說明一下么
時間萬物皆是對象,也就是說你能看得見的或者看不見的東西,只要實際存在,它就是對象。對象是就某個具體個體而言的。
比如你自己的班級,對於你來說,你們班就是一個班級對象。而班級中的某個具體的人,他也是一個對象。
面向對象的編程思想就是把你需要解決的問題中的所有具體的東西,都看成一個對象,然後把所有具有相同性質的對象組成一個類,那些與問題無關的對象則忽略。
舉個簡單的例子:計算你們班所有人某次測驗數學的總成績。從下到上分析這個問題的所有對象。
要計算成績,成績必須有吧,那麼一份成績就是一份對象; 成績哪裡來呢,你們班同學的,如果你們班33個人,那麼就是33個同學對象;既然計算你們班整體成績,那麼你們班級也是個對象。
其他與這個問題無關的對象可以不管,也就是說,這個時候他們是不是對象跟你無關,
比如如果只要計算你個人的成績,那麼班級這個對象,就與這個問題無關,這時候只需要兩個對象。但是如果就每個對象編程的話,33個人就是33個對象,都寫一遍,寫死你都不夠。
雖然每個人的個性不一樣,但是跟我們的問題無關,每個人都有成績這點是相同的,所以33個人其實在這個時候就是一個人。只要把他們定義成一個變數就行了,這就是類的概念。
比如對於數字,11,2,3,4,5,每個數字都是一個對象,但是他們具有相同的特點,把他們分成一個int類,用變數的形式表示具體的對象就可以了。
語言表達不行,不知道有沒有說清楚,希望對你有點幫助。
7. 什麼是面向對象編程
它通過給程序中加入擴展語句,把函數「封裝」進編程所必需的「對象」中。面向對象的編程語言使得復雜的工作條理清晰、編寫容易。說它是一場革命,不是對對象本身而言,而是對它們處理工作的能力而言。對象並不與傳統程序設計和編程方法兼容,只是部分面向對象反而會使情形更糟。除非整個開發環境都是面向對象的,否則對象產生的好處還沒有帶來的麻煩多。有人可能會說PHP不是一個真正的面向對象編程的語言, PHP 是一個混合型 語言,你可以使用面向對象編程,也可以使用傳統的過程化編程。然而,對於大型項目的開發,你可能想需要在PHP中使用純的面向對象編程去聲明類,而且在你的項目開發只用對象和類。隨著項目越來越大,使用面向對象編程可能會有幫助,面向對象編程代碼很容易維護,容易理解和重復使用,這些就是軟體工程的基礎。在基於Web的項目中應用這些概念就成為將來網站成功的關鍵。 對象(Object)是問題域或實現域中某些事物的一個抽象,它反映此事物在系統中需要保存的信息和發揮的作用;它是一組屬性和有權對這些屬性進行操作的一組服務的封裝體。 關於對象要從兩方面理解:一方面指系統所要處理的現實世界中的對象;另一方面對象是計算機不直接處理的對象,而是處理相應的計算機表示,這種計算機表示也稱為對象。簡單的來說,一個人就是一個對象,一個尺子也可以說是個對象。
8. 什麼是面向對象編程思想
面相對象不是某一種語言的特性,而是一種編程思想。面向對象的編程的主要思想是把構成問題的各個事物分解成各個對象,建立對象的目的不是為了完成一個步驟,而是為了描述一個事物在解決問題的過程中經歷的步驟和行為。
面向對象的三大特徵分別是:封裝、繼承、多態,這三者是面向對象編程的基本要素
面向對象編程(Object-oriented Programming,縮寫:OOP)
是軟體工程中一種具有對象概念的編程範式(Programming Paradigm),同時也是一種程序開發的抽象方針,與之對應的編程範式還有:函數式編程(Functional Programming)、過程式編程(Proceral Programming)、響應式編程(Reactive Programming)等。
9. 簡述面向對象編程思想的三大特徵
1*繼承
繼承是一種聯合類的層次模型,並且允許和鼓勵類的重用,它提供了一種明確表達共性的方法。對象的一個新類可以從現有的類派中產生這個過程叫做類繼承。新類繼承了原始類的特性,新類成為原始類的派生類即子類,而原始類稱為新類的基類即父類。派生類可以從它的基類那裡繼承方法和實例變數,並且類可以修改或增加新的方法使之更加適合特殊的需求。
2*封裝
封裝是把過程和數據包圍起來,對數據的訪問只能通過已定義的畫面。面對對象計算始終與這個基礎概念及現實世界可以被描繪成一系列完全自治封閉的對象,這些對象通過一個受保護的介面訪問其他對象。
3*多態性
多態性是指不同類的對象對同一消息做出響應多態性包括參數化多態性和包含多態性。多態性語言具有靈活抽象行為共享代碼共享的優勢很好地解決了應用程序函數同名問題。
10. 為什麼我總是說開發要有面向對象編程思想
面向對象的概念和應用已超越了程序設計和軟體開發,擴展到很寬的范圍。如資料庫系統、互動式界面、應用結構、應用平台、分布式系統、網路管理結構、CAD技術、人工智慧等領域。
談到面向對象,這方面的文章非常多。但是,明確地給出對象的定義或說明對象的定義的非常少——至少我現在還沒有發現。其初,「面向對象」是專指在程序設計中採用封裝、繼承、抽象等設計方法。可是,這個定義顯然不能再適合現在情況。面向對象的思想已經涉及到軟體開發的各個方面。如,面向對象的分析(OOA,object Oriented Analysis),面向對象的設計(OOD,ObjECt Oriented DESign)、以及我們經常說的面向對象的編程實現(OOP,Object Oriented Programming)。許多有關面向對象的文章都只是講述在面向對象的開發中所需要注意的問題或所採用的比較好的設計方法。看這些文章只有真正懂得什麼是對象,什麼是面向對象,才能最大程度地對自己有所裨益。這一點,恐怕對初學者甚至是從事相關工作多年的人員也會對它們的概念模糊不清。
面向對象是當前計算機界關心的重點,它是90年代軟體開發方法的主流。面向對象的概念和應用已超越了程序設計和軟體開發,擴展到很寬的范圍。如資料庫系統、互動式界面、應用結構、應用平台、分布式系統、網路管理結構、CAD技術、人工智慧等領域。
面向對象的要素
(1)抽象。
抽象是指強調實體的本質、內在的屬性。在系統開發中,抽象指的是在決定如何實現對象之前的對象的意義和行為。使用抽象可以盡可能避免過早考慮一些細節。
類實現了對象的數據(即狀態)和行為的抽象。
(2)封裝性(信息隱藏)。
封裝性是保證軟體部件具有優良的模塊性的基礎。
面向對象的類是封裝良好的模塊,類定義將其說明(用戶可見的外部介面)與實現(用戶不可見的內部實現)顯式地分開,其內部實現按其具體定義的作用域提供保護。
對象是封裝的最基本單位。封裝防止了程序相互依賴性而帶來的變動影響。面向對象的封裝比傳統語言的封裝更為清晰、更為有力。
(3)共享性
面向對象技術在不同級別上促進了共享
同一類中的共享。同一類中的對象有著相同數據結構。這些對象之間是結構、行為特徵的共享關系。
在同一應用中共享。在同一應用的類層次結構中,存在繼承關系的各相似子類中,存在數據結構和行為的繼承,使各相似子類共享共同的結構和行為。使用繼承來實現代碼的共享,這也是面向對象的主要優點之一。
在不同應用中共享。面向對象不僅允許在同一應用中共享信息,而且為未來目標的可重用設計准備了條件。通過類庫這種機制和結構來實現不同應用中的信息共享。