Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

請問一下什麼是個體導向~

0 views
Skip to first unread message

心跳

unread,
Mar 10, 1999, 3:00:00 AM3/10/99
to
不太懂得oop所謂的個體導向,像個體導向和function有什麼不同呢?
利用oop來寫的程式是否有什麼獨特的優點?和以前的程式是否有一些不同呢?
好想要知道喔~謝謝~

--

--
* Origin: ★ 交通大學資訊科學系 BBS ★ <bbs.cis.nctu.edu.tw: 140.113.23.3>

Talk__戰將

unread,
Mar 10, 1999, 3:00:00 AM3/10/99
to
==> 在 Dalee@cis_nctu (心跳) 的文章中提到:
> 不太懂得oop所謂的個體導向,像個體導向和function有什麼不同呢?
> 利用oop來寫的程式是否有什麼獨特的優點?和以前的程式是否有一些不同呢?
> 好想要知道喔~謝謝~

用oo來寫程式,來開發系統有什麼好處?oo大師booch在其大作
Object-oriented analysis and design with applications
提及,人類對付複雜系統的最好方式就是將其抽象化(abstraction)
,而class 正是拿來實作這種抽象化的方法.

心跳

unread,
Mar 10, 1999, 3:00:00 AM3/10/99
to
==> 在 qpwoeiru@cis_nctu (Talk__戰將) 的文章中提到:

> ==> 在 Dalee@cis_nctu (心跳) 的文章中提到:
> 用oo來寫程式,來開發系統有什麼好處?oo大師booch在其大作
> Object-oriented analysis and design with applications
> 提及,人類對付複雜系統的最好方式就是將其抽象化(abstraction)
> ,而class 正是拿來實作這種抽象化的方法.

再請問一下,那麼所謂的抽象化又是什麼呢?class是包括演算法嗎?
--

Talk__戰將

unread,
Mar 10, 1999, 3:00:00 AM3/10/99
to
==> 在 Dalee@cis_nctu (心跳) 的文章中提到:
> ==> 在 qpwoeiru@cis_nctu (Talk__戰將) 的文章中提到:
> > 用oo來寫程式,來開發系統有什麼好處?oo大師booch在其大作
> > Object-oriented analysis and design with applications
> > 提及,人類對付複雜系統的最好方式就是將其抽象化(abstraction)
> > ,而class 正是拿來實作這種抽象化的方法.
> 再請問一下,那麼所謂的抽象化又是什麼呢?class是包括演算法嗎?

booch說abstraction focuses upon the essential characteristics
of some object ,relative to the perspective of the viewer
又說a key abstraction is a class or object that forms part
of the vocabulary of the problem domain .
舉個書上例子來說好了,當我們寫一個溫室控制系統,我們要考量的因素
有很多,溫度,濕度,肥沃度,等等,這時候我們從這個系統的problem domain裏,
取出一個叫sensor 的概念,有溫度的sensor,濕度的sensor等等,這時候你是
願意寫一堆function 來實作整個系統,還是寫一些sensor 的class來產生object,
他們有其自身的狀態值(data),行為(method),來幫助你管理整個系統(比如
說,溫度過高有回報值等)......

基本上class的method 就是由演算法構成....

david

unread,
Mar 11, 1999, 3:00:00 AM3/11/99
to

心跳 <Dale...@cis.nctu.edu.tw> 次寫入到主題
<3TORj4$3...@bbs.cis.nctu.edu.tw>...


> ==> 在 qpwoeiru@cis_nctu (Talk__戰將) 的文章中提到:
> > ==> 在 Dalee@cis_nctu (心跳) 的文章中提到:
> > 用oo來寫程式,來開發系統有什麼好處?oo大師booch在其大作
> > Object-oriented analysis and design with applications
> > 提及,人類對付複雜系統的最好方式就是將其抽象化(abstraction)
> > ,而class 正是拿來實作這種抽象化的方法.
>
> 再請問一下,那麼所謂的抽象化又是什麼呢?class是包括演算法嗎?

> --
對於抽象化這一個名詞, 我的心得是:
當你要對一個事情或一個東西進行抽象化的動作時, 你就是所看到的部分
認為對你是重要的部分找出來,而不重要或不需要的部分則加以忽略.這就是
抽象化所要進行的工作.

譬如:如果今天叫你對杯子進行抽象化, 寫出杯子的類別出來.這時你會如
何做呢? 自己先想想十分鐘一下 .........

有些人可能會找出杯子的屬性是容量, 顏色, 有沒有握把, 材質等等, 而其
method可能是設定這些屬性的函式. 當然我想你可能會找出更多不同的花樣
出來. 但是如果今天你寫的是超商貨物管理系統,你的杯子屬性可能變成
價格, 庫存量等等, 由於在不同的角度下, 著重的重點不同, 抽象化的結果也
就不同, 因此在進行抽象化的工作時, 要先考量你要的重點, 方向是什麼?
然後才萃取出這事情或東西中, 對你有意義的屬性及method出來.

以上是我對抽象化的小小認知.

柯仁傑

p.s. 至於class的定義你可參考侯先生在'虛擬與多型'一書內的介紹

david

unread,
Mar 11, 1999, 3:00:00 AM3/11/99
to

david <dav...@iii.org.tw> 次寫入到主題
<01be6b64$9a5f6fc0$4c8c5c8c@david>...


>
>
> 心跳 <Dale...@cis.nctu.edu.tw> 次寫入到主題
> <3TORj4$3...@bbs.cis.nctu.edu.tw>...

> 對於抽象化這一個名詞, 我的心得是:
> 當你要對一個事情或一個東西進行抽象化的動作時, 你就是所看到的部分
> 認為對你是重要的部分找出來,而不重要或不需要的部分則加以忽略.這就是
> 抽象化所要進行的工作.
>

修正一下:
當你要對一件事情或一個東西進行抽象化時, 你把這件事情中,
認為是重要的部分找出來, 而不重要或不需要的部分則加以忽略.
這就是抽象化所要進行的工作.


柯仁傑


何陋居主

unread,
Mar 11, 1999, 3:00:00 AM3/11/99
to
==> 在 Dalee@cis_nctu (心跳) 的文章中提到:
> 不太懂得oop所謂的個體導向,像個體導向和function有什麼不同呢?
> 利用oop來寫的程式是否有什麼獨特的優點?和以前的程式是否有一些不同呢?
> 好想要知道喔~謝謝~

既然你是在用交大資科 BBS 的, 何不先看看精華區?

--
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
≡ 何陋居 ≡ 練從難處練,用從易處用。
武 諺
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --

0 new messages