Re: [問題] oo 性質
※ 引述《WalkingIce (會走路的冰塊)》之銘言:
: ※ 引述《ntouckcm (知足常樂)》之銘言:
: : 請問一下
: : 下面哪一個不是oo(物件導向)程式語言的property
: : Encapsulation
: : Dynamic scope rules
: : message passing
: : Inheritance
: : 應該是Dynamic scope rules不是oo的property,但是oo性質有
: : 動態連結(Dynamic Binding),所以Dynamic scope rules這個該算oo的性質嗎?
: : 可以請大家解釋給我聽嗎 謝謝!
: 老實說我剛剛才在查什麼是 Dynamic scope rules XD
: 就我查到的東西,Dynamic scope rules 指的是「尋找變數型態」的方法
不是吧,scope rule是指「決定什麼變數在什麼地方有效」的規則
比如說我在main()和所有副程式以外有一個 X
在main()開頭又宣告一個 X ,在main()裡的一個for loop裡面又宣告一個 X
現在我在main()的某一行寫上 y = X * 5,那麼 y 會等於多少,這一類的問題
而這跟binding也不是沒關係
不考慮scoping的話,binding簡直簡單到爆
問題是這樣就連procedure-oriented的程式都不容易寫,會犧牲掉很多優點
dynamic scope rule最有名的例子是LISP和PERL,這兩個語言都是物件導向的
但是就dynamic scope rule的定義來看,和物件導向未必有關
C一定沒有,C++有沒有我不曉得
其他採用dynamic scope rule的也以functional programming language為多
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.115.213.150
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章