1樓:匿名使用者
物件這個概念我也理解了好久,這東西光靠語言描述是不夠的,積累到一定程度就頓悟了。
你可以把物件例項化,想想成一個物體。
比如,一個長方體,這是一個物體(物件),它有很多屬性,比如長寬高,表面積,體積。
它有很多方法,比如 移動,旋轉。
比如,一個字串,這也是一個物件,字串的內容是它的text屬性,還有length屬性等等,它還有很多方法,比如擷取字串。
總的來說,物件就是對某個東西(物體等等)的描述。是具象的。(對應的就是抽象的,類就是對物體的抽象描述,然後通過物件把類具象化)
不知道說明白沒有,有問題請繼續追問。
2樓:匿名使用者
簡單理解,一個類就是一個物件。把一個類 new出來以後,就建立了一個物件(object)。
物件導向,就是把所有東西都當成類來進行設計。
物件導向程式設計是什麼意思
3樓:學雅思
物件導向程式設計又稱oop,是一種計算機程式設計架構。本質是以建立模型體現出來的抽象思維過程和麵向物件的方法。
oop的一條基本原則是計算機程式由單個能夠起到子程式作用的單元或物件組合而成。oop達到了軟體工程的三個主要目標:重用性、靈活性和擴充套件性。
oop=物件+類+繼承+多型+訊息,其中核心概念是類和物件。
物件導向程式設計方法是儘可能模擬人類的思維方式,使得軟體的開發方法與過程儘可能接近人類認識世界、解決現實問題的方法和過程,也即使得描述問題的問題空間與問題的解決方案空間在結構上儘可能一致,把客觀世界中的實體抽象為問題域中的物件。
擴充套件資料
物件導向程式設計以物件為核心,該方法認為程式由一系列物件組成。類是對現實世界的抽象,包括表示靜態屬性的資料和對資料的操作,物件是類的例項化。物件間通過訊息傳遞相互通訊,來模擬現實世界中不同實體間的聯絡。
在物件導向的程式設計中,物件是組成程式的基本模組。
模型是用來反映現實世界中事物特徵的。任何一個模型都不可能反映客觀事物的一切具體特徵,只能對事物特徵和變化規律的一種抽象,且在所涉及的範圍內更普遍、更集中、更深刻地描述客體的特徵。通過建立模型而達到的抽象是人們對客體認識的深化。
4樓:匿名使用者
它是一種程式設計風格,就是把一切東西看成一個個物件,比如人,車,麵包,等等,然後把這些物件擁有的屬性變數,比如年齡,民族,工作地點,變質期,壽命,還有操作這些屬性變數的函式打包成一個類來表示,這個類的一個抽象就是一個物件,比如人這個類包含一些屬性,比如年齡,名字,住址等,他還有一些對別人告訴這些屬性的功能,比如:說,看,走等!!這就是的物件導向的特點!!!
物件導向程式設計是什麼意思
5樓:匿名使用者
物件導向就是你看到的到是一個個物件,你不關心具體的實現細節,比方電視,你只需要知道它能夠提供影象和聲音,並且可以用遙控器去操縱它,而不需要懂得電能怎麼轉換為光能,訊號怎麼轉化為影象。
6樓:匿名使用者
理解隨自己學習的深度也在慢慢變化
學得程度不同,對物件導向的理解也不同
我的理解就是把資料和動作整合一個模組,再以模組為單位進行程式設計.
當然還有繼承、多型.
7樓:匿名使用者
c++概念:物件導向的程式設計(object-oriented programming,簡記為oop)立意於建立軟體重用**,具備更好地模擬現實世界環境的能力,這使它被公認為是自上而下程式設計的優勝者。它通過給程式中加入擴充套件語句,把函式「封裝」進程式設計所必需的「物件」中。
物件導向的程式語言使得複雜的工作條理清晰、編寫容易。說它是一場革命,不是對物件本身而言,而是對它們處理工作的能力而言。物件並不與傳統程式設計和程式設計方法相容,只是部分物件導向反而會使情形更糟。
除非整個開發環境都是物件導向的,否則物件產生的好處還沒有帶來的麻煩多。有人可能會說php不是一個真正的物件導向程式設計的語言, php 是一個混合型 語言,你可以使用物件導向程式設計,也可以使用傳統的過程化程式設計。然而,對於大型專案的開發,你可能想需要在php中使用純的物件導向程式設計去宣告類,而且在你的專案開發只用物件和類。
隨著專案越來越大,使用物件導向程式設計可能會有幫助,物件導向程式設計**很容易維護,容易理解和重複使用,這些就是軟體工程的基礎。在基於web的專案中應用這些概念就成為將來**成功的關鍵。
物件(object)是問題域或實現域中某些事物的一個抽象,它反映此事物在系統中需要儲存的資訊和發揮的作用;它是一組屬性和有權對這些屬性進行操作的一組服務的封裝體。 關於物件要從兩方面理解:一方面指系統所要處理的現實世界中的物件;另一方面物件是計算機不直接處理的物件,而是處理相應的計算機表示,這種計算機表示也稱為物件。
簡單的來說,一個人就是一個物件,一個尺子也可以說是個物件。當這些物件可以用資料直接表示時,我們就稱他為屬性,尺子的度量單位可以是釐米,公尺或英尺,這個度量單位就是尺子的屬性。
用j**a進行物件導向程式設計,物件導向是什麼意思,請通俗一點解釋
8樓:幻之誰愚
通俗說就是一種思維方式,把事物、事件都看成一個一個單位;
物件導向(object oriented,oo)是軟體開發方法。物件導向的概念和應用已超越了程式設計和軟體開發,擴充套件到如資料庫系統、互動式介面、應用結構、應用平臺、分散式系統、網路管理結構、cad技術、人工智慧等領域。物件導向是一種對現實世界理解和抽象的方法,是計算機程式設計技術發展到一定階段後的產物。
物件導向是在結構化設計方法出現很多問題的情況下應運而生的。結構化設計方法求解問題的基本策略是從功能的角度審視問題域。它將應用程式看成實現某些特定任務的功能模組,其中子過程是實現某項具體操作的底層功能模組。
在每個功能模組中,用資料結構描述待處理資料的組織形式,用演算法描述具體的操作過程。
9樓:千尹鬱懷芹
封裝會對類的成員變數加上絕對領域,因此沒有人能夠惡搞你的變數。
比如一個類:dog
class
dog當然我們可以指定這隻狗的高度:
newdog().height
=34;
但是絕對不應該:new
dog().height=0;
因為狗的高度能是0麼?剛出生也不能是0啊!但是這個錯誤是有可能發生的,因為這個成員變數height可以任意的被修改和訪問。
所以,封裝的基本原則:
將你的成員變數標記為私有的,並提供公有的get和set方法來控制存取動作。
class
dogpublic
void
setheight(inth)}
}這回明白了吧?但是有的時候你會發現,好多情況,我們確實把屬性設定為私有的,而且也提供set和get方法,但是方法內部什麼都沒做,只是簡單的賦值或者返回屬性值,這不是和以前一樣也可以任意更改了麼?,這裡告訴你為什麼,這種方式已經形成了一種規範,可能這樣做暫時看似沒什麼用,但是是一個標準規範,應該這樣去做,因為此時可能我們不想去做些什麼,但是以後呢?
以後想做直接在方法內部新增判斷即可,這時候其他呼叫了此方法的地方並不需要改變,維護性比較好。
也就是說,除非你是刻意的想讓外界直接可以任意訪問,否則,我們要儘可能的將屬性設定為private私有的,對於方法也是一樣,有些方法就是我這個類自己內部呼叫,內部有用,那我就設為private的,這個具體得根據實際情況分析設計,好處除了上面所述,還有就是
你對外只提供有效的屬性或方法,其他的進行隱藏,那麼之後,誰使用你這個類,誰調屬性或者方法的時候後都會明確的知道,這些對我都是有用的。
當然訪問許可權修飾詞,private,預設的,protected,public
四種,具體用那一種進行修飾,根據實際情況自己看。
封裝的目的是增強安全性和簡化程式設計,增強安全性上面說過了,簡化程式設計也就是說,使用者不必瞭解具體的實現細節,而只是使用
外部介面(方法名和引數列表)就可以了。
再說繼承:
繼承是類與類之間的關係,class
catextends
animal
意思就是說貓從動物繼承,那麼動物被叫做父類,貓被叫做子類,貓類和動物類,這兩個類之間的關係是繼承關係。
有了繼承關係之後,作用之一
就是**重用,子類從父類繼承,那麼父類的所有內容(屬性和方法),子類無需再次定義就都擁有了,全部都擁有了,但是有些內容比如說
private的屬性,擁有是擁有了,但是不能使用,說白了就是有擁有權,沒有使用權。
另外一個作用就是繼承以後,可以父類引用指向子類物件,也就是向上轉型(upcasting),比如:
animala=
newdog();
繼承了以後,還可以對父類的方法進行重寫(override)。
最重要的一點就是:繼承,重寫,向上轉型,是多型的3個必要的條件,缺一不可。
物件導向的三個特性:封裝、繼承、多型,多型從另外一個角度,劃分開了介面和實現,使我們程式的可擴充套件性達到了極致,現在明白了吧?之所以現代程式語言都採用物件導向的思想,原因就是這樣的程式,**的重用性,程式的可擴充套件性,後期的可維護性,以及其他其他的什麼什麼性
都是非常好的。
我也就理解這麼多,寫了一個小時,以上絕非複製貼上,可能我說的也不全面,畢竟就理解到這,自己再看看書吧。
物件導向程式設計是什麼意思 形象點 15
10樓:匿名使用者
最簡單地說就是你寫**的時候用到類、物件、繼承就是物件導向程式設計了。
物件導向的程式語言所謂的物件什麼意思,書上的定義太抽象,屬性與方法,舉的例子又聯絡不起來
11樓:匿名使用者
不管你用的是什麼物件導向程式語言,歸根揭底都是要操作記憶體。所以從程式設計的角度來說,物件的定義是與記憶體相關的。
物件可以認為是一塊記憶體空間;而方法則是操作這塊記憶體的一系列指令;類則是定義這塊記憶體空間的大小、記憶體佈局以及能在這塊記憶體空間上執行的操作的語法結構。欄位則是這塊記憶體空間中的子物件;屬性和欄位是同義詞,但是在某些語言(比如c#)屬性定義介面,欄位定義實現。
以c++語言為例:
你不要把物件導向理解的很複雜。簡單的說吧:物件就是你可以對他做一些事情的東西,比如說你桌面上的茶杯(你可以使用它來喝水)、口袋裡的手機(你可以用來打**)、**裡面定義的變數(你可以對他進行賦值);而類則是用來描述物件之間的共性,是抽象的,你不能對他做什麼。
一但你發現某些物件有共同的東西(比如共同的屬性、共同的行為),你可以把共性提取出來,然後起個名字,就有了一個類,這個過程叫做分類。
請教下師傅幫我解釋下,下面的鋼筋配筋圖的問題,解釋要詳細點。字母數字都幫我解釋下
kl表示的是框架樑至於前面的m就不是很清楚是什麼意思,在圖集上是沒有這個符號的,這也許是設計者自己安的代號吧,或者是我沒見過的的標註代號,但總的來說mkl就是一種框架樑的代號,所以你也可以不用管這個m的意思。mkl23 17 240 240 8 200 2 2 16 3 16 mkl23表示23號框...
請教下懂風水的大師,我家怎麼了,請教下懂風水的大師們我家房屋的佈局
貴宅很多問題,但問題並不是什廁所對樓梯門這麼簡單。若北面批下來也建了房則對你們家有莫大好外,可惜沒批,你這格局北低南高必不利,巽宮開門招桃花不利交際,夫妻感情不和,手腳易損傷。飛星就是三碧祿存星和四綠文星飛進必傷肝膽。在12年五黃飛進和13四綠飛進此兩年口舌,病傷必會嚴重。這格局廚房在坤宮本來是沒問...
請教下用altiumdesigner畫pcb圖的一般步驟
給你簡單說下,你按我說的步驟做,不明白的就看書上對應部分 1 畫原理圖,目地是生成對應的網表用於建pcb,在圖上標好元件值,元件位號用自動標註。2 用原理圖生成pcb,這時會有drc檢查,檢查不過的你就去改好,檢查通過後會真接切換到pcb介面,這時你的原理圖就算是完成了。3 pcb佈局,一般按照先大...