※ 引述《Wiseman.bbs@bbs.cs.nthu.edu.tw》之銘言:
> ※ 引述《tester.bbs@bbs.csie.ncu.edu.tw (try or test)》之銘言:
> > 程式都有必須前後相依的 sequential 成份, 也有與前後次序無關可併
> > 行的成份. 一般的命令式(imperative)程式語言除了 CHLL 以外, 通常
> > 都把這些都當成必須前後有序的處理, 也就不介意 data 的隔離.
> > 可是 OOPL 會把有關的 data 與 method 擺到同一個 class object,
> > 跟前後次序相依的就會歸類為同一 class , 彼此不相關的 data 與
> > method 通常就可以另成一個 class object. 所以 object 間的相依性
> > 降低, 可以併行處理的可能性就增高.
> > OO 是概念用於分析思考, 項目的相關性就會使之自然歸為同類, 何者
> > 必須相依循序, 何者可獨立無關可以併行處理就自然會分堆(object)擺.
> > 多數的 OOPL 雖有這個隱藏的特性, 除了那些強調能處理 distributed
> > object 的 OOPL 外, 多數 OOPL 目前並不提供 CHLL 有關的指述.
> > OOPL 未必有併行同步處理能力, 但分析事物本質的 OOD 是會區分這種
> > 必定要循序處理(符合因果關係)才會正確無誤的成份的.
> 太玄了 根本看不懂
> 有沒有人可以幫忙翻譯一下 .
> 我想這篇文章的詞彙與邏輯跟我的腦子完全無法對應
> 可能是因為他使用了前後不相依併行同步處理的多工思考方式
> 這可是要用多顆大腦同時併行運作並且充份了解CHLL語言的人才有辦法理解
class A
{
int a,b,c;
int a1,b1,c1;
fun_a(){
a = b+c; //快指令
}
fun_b(){
a = b*c; //慢的指令
}
fun_c(){
a1 = b1+c1;
}
}
main(){
A B;
B.b = 1;
B.c = 2;
B.fun_a();
B.fun_b();
B.fun_c();
}
如果是OO並不知道最後a 是哪個 fun_a 或是fun_b的結果 出來不可與其的答案
但是因為目前的程式編譯器幫你處理好
所以會先執行fun_a 在循序的執行fun_b
a就會是fun_b的結果
也就是編譯器不幫你處理的話 可能因為OO非循序的特性出錯
不知道我理解的對不對?
--
┌─────◆KKCITY◆─────┐ KK免/費/撥/接 ◤
│ bbs.kkcity.com.tw │▏電話(1):449◤1999 電話(2):4058-6000
└──《From:61.224.80.172 》──┘▏帳號:kkcity 密碼:kkcity