自然、人类、机器
Home › Forums › 《冒号课堂》讨论区 › 多态的本质是什么?
Tagged: 多态
多数人以为多态就是基于继承的子类型多态,而书中提到了几种不同的多态。为什么这几种不同的形式都被称为多态呢?它们的共同点或者说多态的本质是什么?我思考的结果是:类型(Type)是语义要求,类(class,struct)等是语法机制,多态的本质是不同的类满足同一类型的要求,即同一语义不同语法。
你的理解是正确的。多态,准确地说是类型多态(type polymorphism),是指不同的数据类型(data type)符合统一的接口规范。也可以反过来说:一个接口(或类型)允许有不同的实现,但完全可以被接口的使用者忽略,从而达到抽象的效果。多态这一术语应当出自后一种角度。
啊..这个问题我也很感兴趣,前天我还写了一个帖子:
http://tieba.baidu.com/f?kz=1033318122
我认为多态从概念上总是伴随间接(indirection),或者说一个……’人称’