道德经与面向对象编程思想

昨天读范文澜的《中国通史》,读到介绍老子所著的道德经时,觉得下面这段话颇有意思:

老子是有极大智慧的古代哲学家。他观察了自然方面天地以至万物变化的情状,他观察了社会方面历史的、政治的、人事的成与败,存与亡,祸与福,古与今相互间的关系与因果,他发现并了解事物的矛盾性比任何一个古代哲学家更广泛更深刻。他把这种矛盾性称为道与德。道是从一切具体事物中抽象出来的自然法则或规律。《老子》书中多用“一”代表道。“一”里面有正反两面对立着。有对立,才有变动,老子称为“反者道之动 ”。反面开始是柔弱的,但是它可以转化到强大方面去,取得正面的地位。老子称为“弱者道之用”,“柔弱胜刚强”。正反两面在一定条件下互相转化,老子称为 “祸兮福之所倚,福兮祸之所伏”,“正复为奇,善复为妖”。德是宇宙间一切具体存在着的事物所含有的特性。德不能脱离具体事物而独立存在,德所寓的事物称为得。韩非子说“德者内也,得者外也”,王弼注《道德经》(即《老子》)说“德者得也”。从各个的德综合为一般的道,从一般的道表现为各个的德,有道便有德,反之,没有德也就没有道。韩非子称为“道有积(积众德成道)而德有功(实在的事功),德者道之功(道不离德)”(《解老篇》)。庄子说道在万事万物的里面,郭象注《庄子》说“道不逃于物”。老子以这些朴素的辩证法,讲论“人君南面之术”(统治术)与一个人(统治阶级的人)如何立身处世的方法,全部学说贯穿着道德这个根本思想。

在我程序员的脑袋来看,这简直就是赤裸裸的面向对象的编程思想嘛,下面我简要的以面向对象的编程思想来解释解释上面的这段话:

在我看来,老子所讲的“道”,应该就是面向对象编程思想中所讲的类。“道”是从一切具体事物中抽象出来的自然法则或规律,意思是我们可以把具体的事物抽象成一个类。《老子》书中多用“一”代表道,而在我们现在的面向对象编程语言中,则一般用“Class”这个关键字。“道”里面有对立,有变动,是指类中有各种不同的属性,有各种各样的方法,可以利用方法来改变属性。

而老子所讲的“德”,就是对象的属性。“德”是宇宙间一切具体存在着的事物所含有的特性。德不能脱离具体事物而独立存在,德所寓的事物称为得。这句话是说 “德”是事物的属性,属性不能脱离对象存在,在事物的属性存在之前,你必须先用“New”关键字来创建一个对象,而这个对象就是后来提到的“得”,所谓“ 德”寓于“得”。

最后的几句话是说面向对象的编程思想把类,属性,方法,对象等封装的很好,号召大家都来学习面向对象的编程思想。

呵呵。

One thought on “道德经与面向对象编程思想

  1. owl_winok

    这么说,老子是最早的面向对象大师,哈哈,你太有才了~~,却还有那么道理里面。老子或许阐述了了一个最父类,里面描述一些最基本,最朴实的东西,万事万物都脱不了它,学会了它,或许万事万物也就掌握了。