."我假设是原始社会,有石头,2块石头互磨可以变成石刀,石刀可以去砍木头,木头被砍成木材,木材可以组成椅子,请你用oo的思想把这些事物和他们之间的关系表达出来,但是要考虑到以后可能我会增加以下几点:
"1.有可能我还想让石刀去砍椅子,把椅子砍成木材,2.可能我还想让石头增加关系,例如互相砸,互相摔,而不只是磨,也可以变成石刀,3也许我又要多添一百种不同的事物,再多添120种不同的关系..."

解决方案 »

  1.   

    以下是胡言乱语,请勿当真。要有"石头"类class Stone {
     //定义摩擦、砸、摔 等等方法
    }“石刀”也是石头,所以石刀从石头类继承
    class StoneKnife extents Stone {
     //定义砍、切 等等方法
    }要由“木头”类
    class Wood{
    }class WoodChair extents Wood { //从“木头”继承,就可以被“砍”了
    }
      

  2.   

    2块石头互磨可以变成石刀:
    以石头为参数给石头发消息(磨方法),返回一个石刀对象。
    石刀可以去砍木头,木头被砍成木材:
    以木头为参数给石刀发消息(砍方法),返回一个木材对象。
    木材可以组成椅子:
    组合关系,说明椅子类里的属性有木材。我只是针对题,面窄了吧,眼光很短浅,没办法,刚学 。learning~~