×

Loading...

Topic

  • 工作学习 / IT杂谈 / 汉语,面向对象的交流语言(完全版)
    本文发表在 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
    • LINGUISTICS很有趣的学问. 不同的语言构筑了不同的思维方式, 包括文化...好!
    • Good。 汉语已经有几千年的历史了,面向对象的概念才几十年历史。说不定,提出面向对象概念的人的是从汉语里得到启示的(瞎猜的)。
    • 再加一点,汉语是组件化(componentized)的语言。
      例如“飞机”是由“飞”和“机”两个基本组件构成,而不需要象英语一样另造一个“PLANE”。所以中国人只要认识4000个左右的字就可以了,其它大部分的词可以“望文生意”。但是英语的单词就要以数十万记了。
    • 现在采用"面向对象"技术 编程用的人最多,现在说汉语的人在这个地球上也最多!
    • 讲得好!
    • 汉语,词汇是收敛的。
      掌握2000个汉字,应该听说读写没问题了吧。

      英语,无边的词汇....

      俺最烦英语数数,11,12,13... 理应读成:
      one one or ten one,
      one two or ten two,
      one three or ten three
      ....
      俺向同事建议个,他们一笑.....