是否重写多态性的概念或继承的概念? OOP

时间:2015-07-30 05:17:32

标签: oop inheritance polymorphism override

今天我接受了一次采访,我被问到这个问题并且我回答说压倒一切的是继承的概念,但他们一直说不,这是多态的概念! 我很确定。但现在我觉得我还需要更多曝光。

可能有很长的答案!但用一句话来说它会是什么"继承"或"多态性"

3 个答案:

答案 0 :(得分:1)

我认为他们要求你阐述的是面向对象编程语言的" 4属性。"虽然这些经典属性似乎已经风化和耗时,但我会说它们仍然倾向于面向对象的范式。

这四个属性是:

  • 继承("对象层次结构是"关系)
  • 抽象(功能优于实施细节)
  • 封装(信息隐藏)
  • 多态性(需要覆盖)

覆盖更接近于多态而不是继承,因为可以在不覆盖任何方法的情况下进行子类化。但是,多态性总是要求子类覆盖某些超类方法。

答案 1 :(得分:0)

我会说两个。我们在继承中使用override来覆盖基类函数的函数行为。这也称为运行时多态性,因为在运行时决定调用基类函数或派生函数。但是,是的,我同意scottb,他们会期待OOPS的哪个支柱与Override强烈联系。

答案 2 :(得分:0)

多态:重载

继承:覆盖

即使两个概念在意义和定义上都有重叠。

(见解释说明)