连载:面向对象葵花宝典:思想、技巧与实践(10) - “抽象” 详解
抽象的中文概念非常形象,簡單來說就是“抽取出來比較像的部分”。
?
那么,在面向?qū)ο蟮念I(lǐng)域里,抽取什么東西比較像的部分?
?
還記得前面給類下的定義么?我們一起來回顧一下:類就是一組相似事物的統(tǒng)稱。
再結(jié)合我們對象的定義:對象就是一個具體的類,一個真實(shí)存在的類。
我們就很容易發(fā)現(xiàn)了抽象的詳細(xì)含義:抽取多個對象或者類中比較像的部分。
?
?
?
注:
史派克:《貓和老鼠》中的斗牛犬
?
這里的抽象分為兩個層次:
第一個層次:對象?抽象成?類。
例如奧巴馬和梅西抽象成“人”,這一層的抽象主要是將“屬性類似”的對象抽取成類。
注意這里的屬性類似是指屬性類別一致,而屬性的取值是不一樣的。例如如果將“奧巴馬”和“梅西”都抽象成“人”,那么其屬性有身高、體重、性別、年齡等,但“奧巴馬”和“梅西”的這些屬性取值肯定是不同的。
?
第二個層次(或更高層次):將?類?抽象成超類(或者說父類,其實(shí)就是更高一級的類),
例如人和豬抽象成“動物”,這一層的抽象主要是將“行為類似”的類抽象成父類。
注意這里是“行為類似”,而不是第一層抽象的那樣“屬性類似”,因?yàn)樵诿嫦驅(qū)ο箢I(lǐng)域,行為一致的話就認(rèn)為是同一類的,當(dāng)然也不能是完全不同,完全不同的話就沒有相似點(diǎn),也就無法抽象成類了,所以這一層抽象的重點(diǎn)是“相似”。
?
實(shí)際應(yīng)用中,抽象的層次是不限的,根據(jù)業(yè)務(wù)的需要,或者不同的觀察角度,可以抽象出很多層。
?
【抽象的作用】
抽象并不是面向?qū)ο箢I(lǐng)域特有的概念和方法,在人類的科學(xué)研究中,抽象是再常見不過的技術(shù)了:生物學(xué)將豬馬牛羊等生物抽象為“動物”,將花草樹木等抽象為“植物”,醫(yī)學(xué)將心肝脾肺腎抽象為“內(nèi)臟”,化學(xué)將碳?xì)溲醯瘸橄鬄椤霸亍?#xff0c;物理學(xué)上將地球、火星、水星等抽象為“行星”。。。。。。等等。
?
又比如我們的高中學(xué)習(xí)課程,也抽象出“語文、數(shù)學(xué)、物理、化學(xué)”等學(xué)科,我們的大學(xué)課程,又分為了幾十上百個專業(yè)。
?
在人類的科學(xué)研究,以及日常生活和學(xué)習(xí)中,抽象最主要的作用是“劃分類別”,而劃分類別的主要目的其實(shí)還是“隔離關(guān)注點(diǎn),降低復(fù)雜度”。因?yàn)檫@個世界太復(fù)雜了,復(fù)雜到一個人不可能同時關(guān)注所有的內(nèi)容。心理學(xué)上的研究證實(shí),人同時能關(guān)注的事務(wù)不超過?7+/-2個??梢韵胂?#xff0c;如果沒有抽象分類,我們將面對一個混沌的世界,同時關(guān)注如此多的內(nèi)容,即使是天才,估計(jì)也要崩潰。
?
在面向?qū)ο箢I(lǐng)域,抽象也不例外。抽象的主要作用也是劃分類別,所以,抽象是面向?qū)ο箢I(lǐng)域里面發(fā)現(xiàn)類的主要方法
================================================?
轉(zhuǎn)載請注明出處:http://blog.csdn.net/yunhua_lee/article/details/19165107
================================================?
總結(jié)
以上是生活随笔為你收集整理的连载:面向对象葵花宝典:思想、技巧与实践(10) - “抽象” 详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 免费获得盛大网盘EverBox125G容
- 下一篇: 基于Neo4j的关联数据评估风险投资人业