白马非马与面向对象

     类是对象的抽象组织,对象是类的具体存在。

  2200年前的战国时期,赵国平原君的食客公孙龙在骑着白马进城的时候,被守城官以马不能入城拦下,公孙龙即兴演讲,以一篇“白马非马”,驳倒了守城官,于是就骑着他的 (不是马的) 白马进城去了。此战,就是历史上最经典的一次对面向对象思维的阐述。

  公孙龙的“白马非马”一论如下:

“白马非马”,可乎?曰:“可。”曰“何哉?”曰:“马者,所以命形也;白者,所以命色也。命色者非命形也。故曰:‘白马非马’。”曰:“有白马不可谓无 马也。不可谓无马者,非马也?有白马为有马,白之,非马何也?”曰:“求马,黄、黑马皆可致;求白马,黄、黑马不可致。使白马乃马也,是所求一也。所求一 者,白者不异马也。所求不异,如黄、黑马有可有不可,何也?可与不可,其相非明。故黄、黑马一也,而可以应有马,而不可以应有白马,是白马之非马,审矣!”

  公孙龙乃战国时期的“名家”,名家的中心论题是所谓“名”(概念)和“实”(存在)的逻辑关系问题。名者,抽象也,类也。实者,具体也,对象也。从这个角度讲,公孙龙是我国早期的最著名的面向对象思维的学习者。

  “白马非马”这一论段的关键就在于“非”一字,公孙龙一再强调白马与马的特征,通过把白马和马视为两个不同的类,用“非”这一关系,成功地把“白马”与“马”的关系转移到“白马”这个类与“马”这个类的相等关系上,显然,二者不等,故“白马非马”。而我们常人的思维是,马是一个类,白马是马这个类的一个对象,二者属于从属关系。说“白马非马”,就是割裂马与白马之间的从属关系,偷换概念,故为诡辩也。

  白马非马,我们可以称之为诡辩;小熊猫非熊猫,这是不得不承认的事实。我们把这些问题抽象出来,实际上讨论的就是类与类之间的界定,类的定义等一系列问题,其中即涉及到了类与对象的本质问题,也涉及了类设计过程中的一些原则。

  要回答类与对象的本质这个问题,我想可以从“形”和“本”的角度来回答。
       这个问题就交给你来研究吧,试试写出java或者php版本的白马非马的代码

已有 3 条评论 »

  1. 无忧 无忧

    呵呵,有趣,想到一个笑话:一个女人让他的程序员丈夫去商店买东西:你去附近的商店买些面包,如果有鸡蛋的话,买6个回来,这个丈夫买了6个面包回来,他的妻子大吃一惊:你为什么买了6个面包?! 程序员丈夫回答:因为他们有鸡蛋。

  2. 打酱油的 打酱油的

    怎么评论这个这么丑

    1. 不明白?你是说后面的内容,我写的不完整,只是供读者思考而已

白菜的弟弟的同学的老师的儿子的妈妈养的小狗的表弟的主人的朋友说看帖不回会被鄙视de

添加新评论 »

【f(x,y)=(y^2-4y)(x^2-6x)的极值(请填入答案,答案见本表单title)】