本文发表在 rolia.net 枫下论坛面向对象语言的三大特性:封装,继承和多态,
汉语全都具有。
先说封装。封装的流行定义是掩藏实现细节。
现在来看看汉语怎么实现封装的。
汉语语言具有表达的言外之意(掩藏实现)的功能。
比如,单位分房,你够条件,领导说要研究研究,
这是给了你一个INTERFACE,但是他究竟怎么研究
的(实现,IMMPLEMENT),就只有天知道了。
这个特点所有语言中都存在。
再说继承。继承就是具有公共特点的事物共享一个
界面(INTERFACE)
比如汉语的车字,他包含了汽车,卡车,自行车等
交通工具的共同特点(有轮子,需要人控制方向,
需要能源驱动,可以前行,后退,停止等)
而英语就差点,汽车是CAR,自行车就是BYCYCLE,
卡车就是TRUCK了。这么一对比,汉语的表达更具有
易读行,可理解性并易于维护,这些正是面向对象方
法要达到的目的。
最后说多态。多态就是用一个界面(INTERFACE)在不
同的上下文(CONTEXT)中表示不同的对象(OBJECT)。
多态是面向对象方法中比较复杂和难于掌握的东西。
现举3例。
1)汉语中,我说“我去拿我的车去”。
如果在加拿大这个上下文中,自然指的是汽车(听话者知道我只有考肉拉),
如果在中国这个上下文中,自然指的是自行车(听话者知道我只有凤凰牌)
而换了英语,“I pick up my car”,可能是CAR, 也可能是
TRUCK,也可能是PICK-UP,但是都没有汉语这么明显的形式
上的继承性。
2)在汉语中,动词没有时态,
我做功课,我明天做功课,我昨天做了功课。。。。
而英语(或西方语言)中,则必须写成
I do my homework, I'll do my homework tomorrow,
I did my homework yesterday....
这里的做没有时态变化,做这个动作词只通过“做”这个
界面(INTERFACE)来表达,完全根据运行时上下文(RUNTIME
CONTEXT),来判断时态,最多做一个类型转换(CAST),用
“了”来表示过去。
3)在汉语中,人称代词没有格的变化。
我叫他。 他看电影。。。。。。。。。。。。。
而英语(或西方语言)中,则必须写成
I call him. He watches movie。。。。。。。。。
这里的做没有格的变化,他这个对象(OBJECT)只通过“他”
这个界面(INTERFACE)来表达,完全根据运行时上下文(RUNTIME
CONTEXT)来判断主宾(格)。
纵上,古老的汉语是一个面向对象的完全现代化的先进的交流工具。更多精彩文章及讨论,请光临枫下论坛 rolia.net
汉语全都具有。
先说封装。封装的流行定义是掩藏实现细节。
现在来看看汉语怎么实现封装的。
汉语语言具有表达的言外之意(掩藏实现)的功能。
比如,单位分房,你够条件,领导说要研究研究,
这是给了你一个INTERFACE,但是他究竟怎么研究
的(实现,IMMPLEMENT),就只有天知道了。
这个特点所有语言中都存在。
再说继承。继承就是具有公共特点的事物共享一个
界面(INTERFACE)
比如汉语的车字,他包含了汽车,卡车,自行车等
交通工具的共同特点(有轮子,需要人控制方向,
需要能源驱动,可以前行,后退,停止等)
而英语就差点,汽车是CAR,自行车就是BYCYCLE,
卡车就是TRUCK了。这么一对比,汉语的表达更具有
易读行,可理解性并易于维护,这些正是面向对象方
法要达到的目的。
最后说多态。多态就是用一个界面(INTERFACE)在不
同的上下文(CONTEXT)中表示不同的对象(OBJECT)。
多态是面向对象方法中比较复杂和难于掌握的东西。
现举3例。
1)汉语中,我说“我去拿我的车去”。
如果在加拿大这个上下文中,自然指的是汽车(听话者知道我只有考肉拉),
如果在中国这个上下文中,自然指的是自行车(听话者知道我只有凤凰牌)
而换了英语,“I pick up my car”,可能是CAR, 也可能是
TRUCK,也可能是PICK-UP,但是都没有汉语这么明显的形式
上的继承性。
2)在汉语中,动词没有时态,
我做功课,我明天做功课,我昨天做了功课。。。。
而英语(或西方语言)中,则必须写成
I do my homework, I'll do my homework tomorrow,
I did my homework yesterday....
这里的做没有时态变化,做这个动作词只通过“做”这个
界面(INTERFACE)来表达,完全根据运行时上下文(RUNTIME
CONTEXT),来判断时态,最多做一个类型转换(CAST),用
“了”来表示过去。
3)在汉语中,人称代词没有格的变化。
我叫他。 他看电影。。。。。。。。。。。。。
而英语(或西方语言)中,则必须写成
I call him. He watches movie。。。。。。。。。
这里的做没有格的变化,他这个对象(OBJECT)只通过“他”
这个界面(INTERFACE)来表达,完全根据运行时上下文(RUNTIME
CONTEXT)来判断主宾(格)。
纵上,古老的汉语是一个面向对象的完全现代化的先进的交流工具。更多精彩文章及讨论,请光临枫下论坛 rolia.net