^_^,一般都是people中,司机继承了人,呵呵当然要会驾驶这个方法
^_^(个人观点)

解决方案 »

  1.   

    呵呵,直接在驾驶这个方法中用了car类的对象做参数这样就用了联系
      

  2.   

    写在People里,把Cat作为参数传进去,然后调用cat.run()
    这是一个组合的应用~
      

  3.   

    应该写在Car里好一些,如果写在People中的话,People类就得写Car如何run了,这样就有很高的耦合度!!
    还是让Car自己run吧~
      

  4.   

    “run如果写在Car类中,那People中怎么样去触发这个动作”People类中保存一个Car的实例变量和一个方法,在这个方法中
    调用Car对象的run()方法。
      

  5.   

    “run如果写在Car类中,那People中怎么样去触发这个动作”是呀,由People在需要调用Car.run()的时候调用,这样你需要的People的主动性就体现了
    Car如果People不调用,它自己不会run
      

  6.   

    oo方法论认为:对象应该自己管理自己的行为。所以,认为run()
    这个方法应该放到Car类中。
      

  7.   

    "run"方法应该写在car中,people中也有一个run,people的run调用car的run.
      

  8.   

    en
    谢谢,继续
    写在People里,把Cat作为参数传进去,然后调用cat.run()
    这是一个组合的应用~调用方法已经明白了--------------------------------------------------------------
    People类就得写Car如何run了People类中也不是写Car的run,只是说明People有开的能力,开什么不管,开车的话,传个车的参数进来,它只是开的动作的发出者,开的动作发出给车,然后车的发动机就自己起来了,车运行,如果要转向,也是People发出动作“转向”给车,车才转向。好比一个轮子,如果不给它任何外力,它是不会滚的,People给它个施加个动作“扔”,轮子才能滚动起来。宏观的说:有两种类,主动类、被动类
    主动类发出动作给被动类,被动类接受动作,然后做出相应的动作这样的情况在实际中应该是比较多的吧,不知道大家是怎么样处理这样的情况。处理方法当然有很多了,如果设计的烂一点,那很好解决的。还是想从中学习到一些东西,请大家指教,谢谢
      

  9.   

    另外,可以在People类中加一个drive()方法,当人开车时,就调用
    这个方法。在drive()方法中可以调用Car对象的run()方法。
      

  10.   

    把Car实现成抽象类,并在People类中保存一个Car类型的引用,在运行时就可以
    通过setCar()方法更改不同的Car,这样drive()就可以驾驶不同的Car了。
      

  11.   

    譬如
    People的动作走,因为人是自己走的,所以在People中加上walk的方法,很容易明白车的动作开,实际上是两个行为,先人给车一个动作,再车自己动起来同样是两个动作,因为是主动类和被动类的不同,导致方法的运转在流程上是不一样的
    怎么样更好的解决它们之间的不同?
      

  12.   

    oo方法论认为:对象应该自己管理自己的行为。这句话,你仔细理解一下,实际上你的run应该由两部分组成,
    一个是人发出 "开车"这个动作,和车"移动"这两个行为。
    所以需要做的是,
    在people里有一个方法,是run(),这个run是指人能发出开车的动作,不管开的是卡车还是轿车
    在car里,这是个具体类,应该有一个move();代表能移动,所以当我要开卡车的时候,只要把car做为一个参数穿给people的run(),车子就移动了。这是我个人的理解。
      

  13.   

    我觉得是,car的run是一种状态,而不要表示为一种动作,因为car的run是由人来驱动的,
    不知道我这种看法是否正确?请高手指点