封装,抽象和多态是必需的继承吗?

Muh*_*man 7 oop polymorphism inheritance encapsulation abstraction

今天我接受了软件工程职位的采访.我已经从stackoverflow中读了很多关于面试的内容.他们问我关于OOP的正常事情.但他们也问我这些:

没有继承就可以封装吗?

没有继承就可以抽象吗?

没有继承可以实现多态吗?

我根据我对OOP的了解回答了这些问题.我不知道这是对还是错.任何人都可以通过一些相关的例子告诉我这些问题的正确答案.

谢谢

小智 7

  • 没有继承就可以封装吗?

是的,因为封装是通过访问方法从外部世界隐藏类属性的能力.

  • 没有继承就可以抽象吗?

好吧,抽象可以引用很多东西,但是谈论OOP:不,抽象类不能直接使用,你只能实例化继承类.

  • 没有继承可以实现多态吗?

是的,多态性是构建到几种类型对象的单个接口,例如,可以接收不同类或数据类型作为参数的单个函数调用.它们可以是遗传的,也可以不遗传.