谈谈面向对象的理解

一直以来对于面向对象的理解都仅仅是停留在字面的阶段:封装、继承和多态。 封装就是把对象包装成一个类, 继承就是有一个抽象出来的基类, 那么多态呢?对于多态的理

一直以来对于面向对象的理解都仅仅是停留在字面的阶段:封装、继承和多态。

封装就是把对象包装成一个类,

继承就是有一个抽象出来的基类,

那么多态呢?对于多态的理解仅仅停留在override重写关键字上面,不知道什么时候使用。

直到前几天去参加一个面试,面试的大佬说:在面向对象的语言中,我们要弱化接口的概念,使用多态。你谈一下对多态的理解。

我当时竟然是想不出来多态是什么,满脑子竟然是泛型。其实隐约也有一点重写方法实现的念头,但是当时没有怎么说。

接着是发展到了目前干的一个项目,项目里面抽象了一个基类、抽象了一个接口,后续的类型都是继承了基类,实现了接口。慢慢的发现其实这个接口完全没有必要,最好是把接口中的方法直接转到到基类中去,然后子类直接重写这几个方法就可以了。这应该就是多态的用处吧。

个人有一个想法:接口不是面向对象的。