什麼叫面向對象思想?
面向對象思想是什麼
面向對象思想----不看後悔!
前言:
整理這份資料的目的是為了幫助朋友們能夠更直觀的理解面向對象的編程。讓後來者能夠少走一些彎路。但其中不免有許多漏洞及錯誤,也還請前輩提出寶貴的更改意見,畢竟交流會讓我們不斷的進步。
技術是日新月異的,他不會等待你的成長。技術要拿出來於別人交流,自己學是自己主觀意識上的理解,有對有錯!交流會讓進步變得更快。我認為如果計算機 的體系結構不發生革命性的變化,我們現在所應用的程序語言也就百變不離奇蹤了!學編程學的是什麼?思想!精通一門編程語言(最好是面向對象的語言)後再去 搞其他的編程語言,你會發現過程是如此的行雲流水!為什麼?你已經把編程的思想掌握了,再去學其他的,無非是學習一種新的語法格式了。
我在這裡並不是和你討論怎麼去用C++或JAVA,也不是和你討論怎麼去學他們,我要和你討論的是怎麼去理解面向對象。其中主要會涉及到“類、對象、 繼承、屬性、方法、靜態、重載、隱藏、重構、聲明、定義、初始化、賦值等”其中有許多相關技術我只會一代而過,讓你有一種到此一遊的意味我就達到目的了, 而更詳細的技術內幕,就請參考其他相關書籍而深入研究吧!因為我只是在和你探討如何去更好的理解面向對象!
如何去提高效率?重複使用資源,把別人的東西拿來就用。這是很不錯的主意!而對於你來說,最大的資源就是信心以及積極性!好,打起精神來,讓我們一同到面向對象的編程中去尋幽訪勝吧!
注:文章中所有程序實例我都使用JAVA寫的,當然在C++中也就大同小異了了,不同的地方我會指出!
注:文章中的正文文字用黑色,說明文字用藍色,強調文字用橙色,批改文字用紅色!
正文:
1.基本概念:
1.1 類與對象的初探
要我說,無論是面向過程的語言也好,面向對象的語言也罷,我首先要給他講的都是類和對象!--------“這個世界是由什麼組成的?”這個問題如果 讓不同的人來回答會得到不同的答案。如果是一個化學家,他也許會告訴你“還用問嘛?這個世界是由分子、原子、離子等等的化學物質組成的”。如果是一個畫家 呢?他也許會告訴你,“這個世界是由不同的顏色所組成的”。……呵呵,眾說紛紜吧!但如果讓一個分類學家來考慮問題就有趣的多了,他會告訴你“這個世界是 由不同類型的物與事所構成的”好!作為面向對象的程序員來說,我們要站在分類學家的角度去考慮問題!是的,這個世界是由動物、植物等組成的。動物又分為單 細胞動物、多細胞動物、哺乳動物等等,哺乳動物又分為人、大象、老虎……就這樣的分下去了!
現在,站在抽象的角度,我們給“類”下個定義吧!我的意思是,站在抽象的角度,你回答我“什麼是人類?”首先讓我們來看看人類所具有的一些特徵,這個 特徵包括屬性(一些參數,數值)以及方法(一些行為,他能幹什麼!)。每個人都有身高、體重、年齡、血型等等一些屬性。人會勞動、人都會直立行走、人都會 用自己的頭腦去創造工具等等這些方法!人之所以能區別於其它類型的動物,是因為每個人都具有人這個群體的屬性與方法。“人類”只是一個抽象的概念,它僅僅 是一個概念,它是不存在的實體!但是所有具備“人類”這個群體的屬性與方法的對象都叫人!這個對象“人”是實際存在的實體!每個人都是人這個群體的一個對 象。老虎為什麼不是人?因為它不具備人這個群體的屬性與方法,老虎不會直立行走,不會使用工具等等!所以說老虎不是人!
由此可見-------類描述了一組有相同特性(屬性)和相同行為(方法)的對象。在程序中,類實際上就是數據類型!例如:整數,小數等等。整數也有 一組特性和行為。面向過程的語......
什麼是面向對象編程的思想
在這裡,萬事萬物皆對象把現實世界中的每一個物體都看作一個對象,每個對象都有固有的屬性和方法,比如把人看作一個對象,屬性有:眼睛鼻子啥的,而方法有:吃穿住行等。而面向對象最主要的特點是:封裝,繼承,多態封裝,就把所有的屬性都放置在一個固定的地方,然後提供一個接口供你使用,而你只能夠使用這些屬性,而不用知道它們是如何的定義的。繼承,就像兒子從父親那裡繼承遺產或者其他什麼東西一樣的,如果子類繼承自父類,那他不僅有父類的屬性和方法,也擁有自己的屬性和方法多態:主要講的是重寫和重載(這兩者的區別查查百度),主要是講子類如何使用父類的方法,重載就好象,父親教給孩子種地的方法,孩子學會之後,改變其中的某一些條件來操作,但還沒有離開父親所教的方法,而重寫則是孩子乾脆發明或者引用一種新的方法來種地總之:
什麼是面向對象的編程思想? 5分
看了很多面向對象的定義,絕對這句最妥切,面向對象的web開發是面向對象開發的一種,我們要離開語言談思想,如下:
從現實世界中客觀存在的事物(即對象)出發來構造軟件系統,並在系統構造中儘可能運用人類的自然思維方式,強調直接以問題域(現實世界)中的事物為中心來思考問題,認識問題,並根據這些事物的本質特點,把它們抽象地表示為系統中的對象,作為系統的基本構成單位(而不是用一些與現實世界中的事物相關比較遠,並且沒有對應關係的其它概念來構暢系統)。這可以使系統直接地映射問題域,保持問題域中事物及其相互關係的本來面貌。
Java高手是如何理解面向對象思想的?
個人理解:把寫一個程序想象成做一張桌子,使用面向過程的思路:桌子,要用木頭做,所以我要種樹,數種好了,我要砍木頭,sorry,沒鐵,開個鐵礦先,有礦石了,造個鍊鐵房,煉好鐵,做成鋸子,鋸木,做鐵錘,做釘子,sorry,我不會裝桌子,去學學木工,OK。。桌子做好了
接下來是面向對象,我要做桌子,要木頭,簡單,從建材市場買,沒鐵釘鐵錘,簡單,五金商店買,不會做?請個木工,OK。桌子完成
所謂面向對象,書上說的都是關於對象的概念,這東西很抽象,難以理解,很簡單的一個思路,如上例,我要木頭,從建材市場這個對象拿,調用建材市場這個對象中出售木頭這個方法,返回我一個木頭,至於建材市場的木頭哪來的,我不知道,也不用知道,為啥這個社會有各行各業?他們全都是對象,都有一個方法,返回該職業能返回給社會的事物,之所以說面向對象更接近於人的正常思維,妙處就在這,我們把能拿到我們想要的東西的出處抽取成一個對象,我們直接訪問它,拿到我們要的東西,它又從它該拿到東西的對象處拿東西,看似互不相干,卻又有很多關係,這就是面向對象,記住,每一個對象,一個方法,只做它自己該做的事,其他的,交給其他的方法,其他的對象,層次理清楚,你能寫出很棒的程序
可以交流心得QQ:1101047
什麼是面向對象思想.能詳細點嗎
面向對象的語言一般學的是c++和java,c++是經典,可以看譚浩強版《c++程序設計》,是非常經典的教材。
什麼是面向對象開發程序的思想??
包括面向對象的分析(OOA,Object Oriented Analysis),面向對象的設計
(OOD,Object Oriented Design)、以及我們經常說的面向對象的編程實現
(OOP,Object Oriented Program),面向對象的廠大特點(封裝,繼承,多態)缺一不可。
如何用一句話說明什麼是面向對象思想
世間有一種刻骨銘心的牽掛,難以忘懷,那是深植骨髓的記憶。細回味,不過鏡花水月一場浮夢,孤燈殘影,冷月若霜,夢迴輾轉淚輕淌,如水煙波,一曲離殤斷柔腸。春已去,秋將盡,憑欄望去輕彈淚,雁南歸,人未歸,落花深處雨紛飛。回眸凝望來時路,夜雨闌珊,待風煙散盡,原來只是夢裡夢外一絲飄渺