">
1继承性与阴阳理论
阴阳理论强调万物皆含有“阴阳”,“阴”与“阳”之间的互动,构成了稳定、平衡的局面。在面向对象程序设计里,继承性体现了阴阳理论的这种“构成论”。派生类通过继承得到了父类的一切—父类中的数据(阴)和函数(阳)。如果在祖先类定义好数据(阴)和函数(阳),那么从这个祖先类派生出去的所有子类都将含有数据(阴)和函数(阳)。CPerson类中,含有阴(Name和Age属性)和阳(GetName()、GetAge()、SetName()、SetAge()四个函数)两大部分,通过派生得到CChina、CUsa和CJapan三个子类,在这所有的派生类中,都继承了CPerson的阴、阳两部分的内容,即使这三个派生类再派生其它子类,依然会继承CPerson的阴、阳两部分的内容,正所谓“万物负阴而抱阳,冲气以为和”,面向对象编程中这种阴、阳互动的内部工作方式构成了它强大的生命力。
2多态性抽象类与阴阳理论
面向对象程序设计的多态性中出现的抽象类,因其定义的某些函数(阳)是纯虚函数,没有具体的代码,实现不了常规的操作(缺失“阳”的功能),这种抽象类(含有“阴”却无功能性的“阳”)不能够生成对象,正符合“孤阴不生”之道。在抽象类中,接口类是一种典型的没有数据(阴)的抽象类,它只含有纯虚函数(无功能性的“阳”),从上面分析可知,该类型也是不能够实例化对象的,正所谓“独阳不长”。《易经》中有“天地氤氲,万物化醇,男女构精,万物化生”,在古籍《雪心赋》中更有“孤阴不生,独阳不长”的名句[6]。句中的“天地”、“男女”更抽象一步可理解为“阴阳”,两句都强调“阴阳”在万物的构成中相互依存的对立统一性。
3总结
面向对象程序设计是近三十年来计算机领域内主流的编程技术,究其流行的原因,除了该技术更符合软件行业发展规律之外,其本质的原因是相较于其它编程语言,它更“遵循”阴阳理论。《皇帝内经》中有“从阴阳则生,逆之则死”!正是“对象”这种程序体具有完整的“阴阳”这一特性,才使得“对象”在计算机程序内成为一个个完整、独立的基本功能单位,使它更趋向于人的认知模式,方便编程人员解决实际问题。了解面向对象编程与阴阳理论之间的联系,能够更好的促进该技术的发展。利用阴阳理论指导面向对象编程思想进一步发展,启示它向更深层次演化。阴阳相互转化原理、阴阳消长平衡原理对于面向对象编程技术的转化机制具有现实的指导意义。
作者:刘源