一直以来对于面向对象的理解都仅仅是停留在字面的阶段:封装、继承和多态。
封装就是把对象包装成一个类,
继承就是有一个抽象出来的基类,
那么多态呢?对于多态的理解仅仅停留在override重写关键字上面,不知道什么时候使用。
直到前几天去参加一个面试,面试的大佬说:在面向对象的语言中,我们要弱化接口的概念,使用多态。你谈一下对多态的理解。
我当时竟然是想不出来多态是什么,满脑子竟然是泛型。其实隐约也有一点重写方法实现的念头,但是当时没有怎么说。
接着是发展到了目前干的一个项目,项目里面抽象了一个基类、抽象了一个接口,后续的类型都是继承了基类,实现了接口。慢慢的发现其实这个接口完全没有必要,最好是把接口中的方法直接转到到基类中去,然后子类直接重写这几个方法就可以了。这应该就是多态的用处吧。
个人有一个想法:接口不是面向对象的。