多态包括重载和重写,
我当时也理解了好久,重载比较好理解,虚函数的重写比较难理解
你说的虚函数的重写
就是在父类里定义一个虚函数eat();
然后,子类Student,Teacher都去现实eat()
这样在,在编译时是不确定用Student,还是Teacher的eat()
而是在运行时判断具体的对象是什么子类,再用子类的重写方法。

解决方案 »

  1.   

    多态意味着不同的形式,你可以有同一分表征 (就是基类提供的共同的接口),以及不同的表征运用形式(不同版本   的动态绑定函数)
    不过 好像只要不是 后期绑定就不是多态
     这也是出自java编程思想
      

  2.   

    overload和多态性是没有任何关系的。只不过是一个编译期特性
      

  3.   

    同意Polarislee(北极星)(灌水是我无言的抗议) ,个人认为overload和面对对象没有任何关系。
      

  4.   

    多态 是面向对象领域使用得最混乱的术语。不同的教材或不同的人,有他的选择。
    典型的说,多态包括四个类型:多态变量、overload、override和泛型(GP!!)。
    在Java中,更多的,多态指 纯多态——也就是TIJ的意思。
      

  5.   

    重载不是多态
    同一个类中的同名函数(参数列表不同,返回类型相同)体现了重载(拼音:zhong zai)overload;
      (其实可以把它们看成是两个完全不同的函数来理解)父类和子类同时拥有的函数(函数名、返回类型、参数列表都相同),运行时决定调用哪个类的方法,这叫覆盖override。这里体现了多态(动态类型)。
      

  6.   

    重载:
    很多人把它读作“chong zai”
    我认为是不对的,应该是“zhong zai”overload:
    vt.使超载, 超过负荷
    n.超载, 负荷过多应该是zhong zai的意思。
      

  7.   

    有人认为overload是编译期多态,大家怎么看的?
      

  8.   

    多态就是晚期绑定,也就是override
      

  9.   

    有人认为overload是编译期多态,呵呵,
    除了让Java的初学者晕晕糊糊之外,一无是处。
      

  10.   

    http://dev.csdn.net/article/47/47700.shtm
      

  11.   

    呵呵,
    这个链接,是道理正确,讲解别扭的典型。很早就看过,看得我一头汗。
    这个翻译比E文的还难懂。
    全面理解多态(OOP),建议看budd的书《面向对象编程导论》。(永远不要小看导论。)