作者MOONRAKER (㊣COWA BONGA!)
看板Programming
标题Re: [问题] oo 性质
时间Mon Jan 14 12:10:11 2008
※ 引述《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