×

Loading...

汉语,面向对象的交流语言(完全版)

本文发表在 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
Sign in and Reply Report

Replies, comments and Discussions: