首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

面向对象程序设计与阴阳理论关系探讨

作者:刘源 来源:电子技术与软件工程

研究了阴阳理论与计算机面向对象程序设计之间的联系。通过对面向对象程序设计的封装性、继承性和多态性的分析,揭示了计算机面向对象程序设计符合阴阳理论的对立统一、互根互用的原理。

【关键词】阴阳理论 面向对象程序设计 对立统一

面向对象程序设计是当前流行的计算机编程方法,它的思维方式最接近人类的常规认知模式。通过学习,可以发现它与传统的阴阳理论是互通的。下面通过对这两种理论体系的对比,找出其中的联系。

1 两种理论内容概述

阴阳即是对自然界相互关联的某些事物和现象对立双方属性的概括。它的主要内容包括:阴阳对立统一、阴阳互根互用、阴阳消长平衡、阴阳相互转化。

面向对象编程技术是把“数据”和“处理数据的过程”抽象成一个具有某些属性和特定功能的自包含实体——对象。其中,“数据”可以看作是描述对象的静态特征,用来解决“该对象有什么?”的问题;“处理数据的过程”可以看作是描述对象的动态特征,用来解决“该对象能够做什么?”的问题。对象的本质是将任一事物的静态特性(阴)和动态特性(阳)封装成一个独立的整体,这与《老子》中“万物负阴而抱阳”、《易经》中“一阴一阳之谓道”不谋而合。

面向对象编程技术具有封装性、继承性和多态性这三个重要的特征,结合阴阳理论,对两者之间的关系进行探讨,更容易使读者理解面向对象程序设计。

2 封装性与阴阳理论

面向对象技术的封装性能够有效保护对象内部的属性或数据(阴),但同时它也提供了方法或函数(阳)来操作内部的属性或数据(阴)。对象CPerson的属性包括:Name和Age。这两个属性表示该对象的两个静态特征,这一点类似于阴阳理论中的“阴”。对象CPerson含有四个函数:GetName()、GetAge()、SetName()、SetAge()。这四个函数代表该对象的四个动态特征,用来实现四个具体的功能,分别完成对上述两个属性的读、写操作,这一点类似于阴阳理论中的“阳”。“阴在内阳之守也,阳在外,阴之使也”,私有封装的Age属性只能在CPerson的内部通过GetAge()和SetAge()进行读、写操作。

对象与对象之间的交互正是通过对象的函数(阳)来实现的。正是这种阴阳互动的封装方式,构成了面向对象编程技术的基本单位—对象。这与阴阳理论“阴者藏精而起函也,阳者卫外而为固也”相益成彰。

3 继承性与阴阳理论

《道德经》曰:“道生一,一生二,二生三,三生万物。万物负阴而抱阳,冲气以为和”。阴阳理论强调万物皆含有“阴阳”,“阴”与“阳”之间的互动,构成了稳定、平衡的局面。

在面向对象程序设计里,继承性体现了阴阳理论的这种“构成论”。派生类通过继承得到了父类的一切—父类中的数据(阴)和函数(阳)。如果在祖先类定义好数据(阴)和函数(阳),那么从这个祖先类派生出去的所有子类都将含有数据(阴)和函数(阳)。CPerson类中,含有阴(Name和Age属性)和阳(GetName()、GetAge()、SetName()、SetAge()四个函数)两大部分,通过派生得到CChina、CUsa和CJapan三个子类,在这所有的派生类中,都继承了CPerson的阴、阳两部分的内容,即使这三个派生类再派生其它子类,依然会继承CPerson的阴、阳两部分的内容,正所谓“万物负阴而抱阳,冲气以为和”,面向对象编程中这种阴、阳互动的内部工作方式构成了它强大的生命力。

4 多态性抽象类与阴阳理论

面向对象程序设计的多态性中出现的抽象类,因其定义的某些函数(阳)是纯虚函数,没有具体的代码,实现不了常规的操作(缺失“阳”的功能),这种抽象类(含有“阴”却无功能性的“阳”)不能够生成对象,正符合“孤阴不生”之道。在抽象类中,接口类是一种典型的没有数据(阴)的抽象类,它只含有纯虚函数(无功能性的“阳”),从上面分析可知,该类型也是不能够实例化对象的,正所谓“独阳不长”。

《易经》中有“天地氤氲,万物化醇,男女构精,万物化生”,在古籍《雪心赋》中更有“孤阴不生,独阳不长”的名句[6]。句中的“天地”、“男女”更抽象一步可理解为“阴阳”,两句都强调“阴阳”在万物的构成中相互依存的对立统一性。

5 总结

面向对象程序设计是近三十年来计算机领域内主流的编程技术,究其流行的原因,除了该技术更符合软件行业发展规律之外,其本质的原因是相较于其它编程语言,它更“遵循”阴阳理论。《皇帝内经》中有“从阴阳则生,逆之则死”!正是“对象”这种程序体具有完整的“阴阳”这一特性,才使得“对象”在计算机程序内成为一个个完整、独立的基本功能单位,使它更趋向于人的认知模式,方便编程人员解决实际问题。

了解面向对象编程与阴阳理论之间的联系,能够更好的促进该技术的发展。利用阴阳理论指导面向对象编程思想进一步发展,启示它向更深层次演化。阴阳相互转化原理、阴阳消长平衡原理对于面向对象编程技术的转化机制具有现实的指导意义。

参考文献

[1]曾仕强.易经的奥秘[M].陕西:陕西师范大学出版社,2009.

[2]傅佩荣.易经与人生[M].上海:上海三联书店,2009.

[3]刘慧宁,孟威等.C++程序设计[M].北京:机械工业出版社,2011.

[4]高红雨,廖湖声.面向对象程序设计语言的分析[J].计算机工程,2012,09(53):98-101.

[5]中国易学文化研究院.易经导读[M].九州出版社,2012.

[6]闵建蜀.易经解析[M].三联书店,2013.

作者简介

刘源 (1978-),男, 湖北省利川县人。研究生学历。现为桂林理工大学信息科学与工程学院副教授。主要研究方向为计算机应用。

作者单位

桂林理工大学信息科学与工程学院 广西壮族自治区桂林市 541004