OO中的普遍性和抽象性

2021-04-13 11:00:19 字數 1637 閱讀 3401

概要

oo所要解決的事情首先是找出事物的共性、分離事物,然後是抽象不同事物的共同行為模型,通過行為來聚合某些事物,通過某些機制來簡化事物之間的關聯。這也就是

oo方**中的普遍性和抽象性。本文簡單地描述了

oo的普遍性和抽象性。

oo,抽象性,具體

,普遍性目錄

概述

...

1

oo

基本特點

...

1

oo

普遍性...

2

oo

抽象性...

2

結束語

...

2

當軟體越來越複雜,面向過程的方**無以承受這種複雜的時候,物件導向

(oo)

的方**出現了。軟體的複雜度可表現為兩個方面,乙個是事物的繁多,二個是事物之間的聯絡錯綜複雜。

oo所要解決的事情首先是找出這些事物的共性、分離事物,然後是抽象不同事物的共同行為模型,通過行為來聚合某些事物,通過某些機制來簡化事物之間的關聯。這也就是

oo方**中的普遍性和抽象性。

oo是一種視事物為程式世界中的物件的方**,它使用

generalization

和abstraction

來歸納和抽象事物的本質特徵和共同行為。

oo有三個基本特點,那就是封裝、繼承、多型。封裝是對事物的變化的封裝,這種變化是使軟體趨於複雜的根本原因;繼承是處理事物的普遍性和特殊性的一種機制,它更多的注重的是對事物的固有屬性的處理;多型用於處理同類事物的不同的行為特徵。

世界中的事物具有普遍性和特殊性。如哲學中提到的「黑馬和白馬都是馬「,在這句話中,」馬「相對」黑馬「或

/和」白馬「具有普遍性,而」黑馬「或

/和」白馬「相對「馬」則是特殊的。因此使用

oo分析某個系統的時候,我們需要找出這種普遍和特殊。在一般的情況下,特殊的事物相對普遍的事物的區別在於本質特徵的不同。如「馬「具有」顏色「這一本質特徵,」黑馬「和」白馬「就是「顏色」特殊化了的馬。這也就是

oo中的繼承。因此,繼承通過事物的本質特徵來區分普遍性和特殊性的事物,這種本質特徵包括事物的固有屬性也包括事物的固有行為。從某種程度上來說,這也是一種抽象。不過這種抽象是基於事物的本質特徵的。在oo

的世界中,抽象上必不可少的,它往往表現為對事物行為的抽象。而這種行為的抽象主要表現在兩個方面:同類事物的不同行為的抽象;不同事物的相同行為的抽象。同類事物的不同的行為特徵,我們很容易進行區分,因為人們一直都在關注這一點。不同事物的相同行為往往都是很隱蔽的,需要我們去努力挖掘,比如說卵生動物都是產「卵」來繁育後代的,這是動物學家通過很久的探索和研究才得出的結論。

因為事物的行為可能因為這樣和那樣的原因,它們很容易發生變化。所以我們需要通過

oo的封裝來隔離這種變化。「變化」是乙個開放性的詞語,它可以用「形容詞」來修飾,也可以給它新增「賓語」。往往,在解決具體問題的時候,我們談論的變化都是具體的。而這種具體的變化是存在共性的,因為它們都是變化。

因此,我們需要通過抽象事物的不同行為,通過

oo的封裝來隔離這些變化。而對於變化的普遍性和特殊性,我們可以使用

oo的繼承來進行處理。

C C 類的設計 抽象性

抽象性 每個c 類 不論可重用與否,都應該表示某種抽象,當設計乙個類的時候,我們要做的第一件事情就是定義類所要表示的抽象。一旦定義了類要表述的抽象,我們就可以有代表性地用某種方法來實現這個抽象。將類的抽象從它的實現分開是很有裨益的 第一 簡化了類的抽象,當對類進行抽象的時候,我們會忽略對當前設計目的...

遊戲想法雜記 網遊的單調性,特殊性,普遍性

這幾天想寫一些筆記,只是想記錄一下自己想法,至於是什麼原因,我想只是一種隨意的想法。最近玩了幾款遊戲,倩女幽魂,大唐無雙,天下貳,不得不說,這幾款遊戲都是花費了不少人去製作和完成,蘿蔔青菜各有所愛,要是魔獸不收費,我想都會去嘗試玩一些暴雪的遊戲。可能網遊大部分模式都差不多,做任務,打副本,搞活動等等...

遊戲想法雜記 網遊的單調性,特殊性,普遍性

這幾天想寫一些筆記,只是想記錄一下自己想法,至於是什麼原因,我想只是一種隨意的想法。最近玩了幾款遊戲,倩女幽魂,大唐無雙,天下貳,不得不說,這幾款遊戲都是花費了不少人去製作和完成,蘿蔔青菜各有所愛,要是魔獸不收費,我想都會去嘗試玩一些暴雪的遊戲。可能網遊大部分模式都差不多,做任務,打副本,搞活動等等...