java面向对象中的抽象,类与对象
一、抽象
什么是抽象?將鴿子和麻雀看做是鳥(niǎo),這是抽象;將整個(gè)空調(diào)的行為用遙控代替,遙控就可以看做是空調(diào)的抽象;將外貌,種族,語(yǔ)言等等形形色色不同的個(gè)體看做是人這樣一個(gè)概念,這也是抽象。
在編程語(yǔ)言中,從最早的機(jī)器語(yǔ)言到匯編語(yǔ)言再到高級(jí)語(yǔ)言,就是靠一層一層抽象來(lái)實(shí)現(xiàn)的。比如匯編語(yǔ)言把“遙控器”給了高級(jí)語(yǔ)言,這樣高級(jí)語(yǔ)言就能簡(jiǎn)便使用一些已經(jīng)集成在遙控器中的匯編語(yǔ)言指令,通過(guò)這些指令,形成更加符合人們編程習(xí)慣的語(yǔ)言,比如java。
在面向?qū)ο笾?#xff0c;抽象更加類似于集合的概念,同一個(gè)集合里的元素?fù)碛泄餐奶卣?#xff0c;可以完成同樣的行為動(dòng)作。而且同一個(gè)集合中的不同的元素也有各自不同的特點(diǎn),比如2,3是素?cái)?shù),而4不是。面向?qū)ο缶幊陶Z(yǔ)言將世間萬(wàn)事萬(wàn)物按照各自的特點(diǎn),抽象成不同的“類”,而“類”對(duì)應(yīng)于現(xiàn)實(shí)存在的事物則被稱為“對(duì)象”。很容易看出來(lái)“類”是“對(duì)象”的抽象。
二、類與對(duì)象
類是具有同樣行為和屬性的對(duì)象的集合,是一個(gè)抽象的概念,并不實(shí)際存在。類的行為可以看做是提供給外界的接口(只有部分),類的屬性是類所具有特定的性質(zhì)。
對(duì)象是類的現(xiàn)實(shí)表示,存在于實(shí)際生活中。一個(gè)類可以生成多個(gè)對(duì)象,每個(gè)對(duì)象的屬性可以不同,行為必須公有。同時(shí),每個(gè)對(duì)象可以擁有自己獨(dú)特的部分,比如鳥(niǎo)中鴕鳥(niǎo)不會(huì)飛翔。
三、面向?qū)ο笈c面向過(guò)程
都是解決問(wèn)題的方式。
面向過(guò)程是將問(wèn)題單獨(dú)提出,一步一步,按照邏輯上的順序解決。面向?qū)ο蟮木幊谭椒ú⒉痪心嘤趩?wèn)題的本質(zhì)步驟,而是將問(wèn)題按照功能抽象出來(lái),分解成一個(gè)一個(gè)類與對(duì)象之間的協(xié)調(diào)工作。以下五子棋為例,面向過(guò)程是完整記錄每一步的動(dòng)作,而面向?qū)ο髣t是將五子棋抽象出來(lái)為一個(gè)五子棋類,一個(gè)棋盤(pán)類和一個(gè)規(guī)則類,五子棋所在的位置和顏色是屬性,每一次的動(dòng)作都是五子棋類的一個(gè)對(duì)象,僅僅是對(duì)象位置和顏色不同。使用面向?qū)ο蟮木幊谭椒?#xff0c;可以是編程中的邏輯更加清晰,代碼可讀性高,也便于管理大型項(xiàng)目,抽象出來(lái)的類也可以重復(fù)使用。
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/xiaowk/p/10370047.html
總結(jié)
以上是生活随笔為你收集整理的java面向对象中的抽象,类与对象的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: CSS3 Filter详解(改变模糊度
- 下一篇: 『Balancing Act 树的重心』