抽象和多态有什么区别?

44

我似乎不太理解两个面向对象编程(OOP)的概念。能否用真实的例子和代码来解释一下抽象(abstraction)和多态(polymorphism)是什么意思呢?

谢谢。


5
我认为这听起来不像作业,我会说他/她只是在理解上遇到了困难。 - Nathan W
1
这不是作业,只是当我和我的团队讨论时,这些概念变得有点相似。这就是为什么它们让我感到困惑。抽象指的是某物的没有具体细节,而多态性则指不同对象的方法具有相同但执行不同任务。我说得对吗? - Sambath Prum
11个回答

-5

非常容易。

  1. 抽象是抽象。类“学生”是真实学生的抽象。

  2. 多态是指一个类代表另一个类,以便用户不会注意到。当类实现相同的接口或一个类派生自另一个类时,就可能发生这种情况。类“高中生”派生自类“学生”。当类“教师”在对象上调用#attendance方法时,它可能不知道这个对象是“学生”类还是“高中生”类。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接