前言
封装继承多态是面向对象语言的特点,基于对象可以让程序有很多的优点。例如简单的来说:C语言不像java当中一样存在很多的库。在本片我想聊一下关于多态的问题(在学习java中学习到了)。
一、多态的优缺点?
多态是同一个行为具有多个不同表现形式或形态的能力。那么也就有了很多的优点,比如可替换性等等。多态带来了很多,但是在学习过程中了解到,内联(inlining)。
内联:如果一个方法很短,并且没有被覆盖,那么编译器就可以对该方法进行优化处理。也就是说在对代码进行优化的过程中,多态会使部分优化变得比较艰难。例如一个方法在另外的类中被重写,那么需要修改的内容就有很多了。
二、示例
例如有个类e中的方法getName(),将这个方法进行优化,可以改成e.name,直接调用参数肯定更好,但是如果这个方法在另外一个类中被覆盖的话,那么久不能进行内联处理了。
总结
多态在带来很多便利的同时也存在一些问题,但是目前就我学习进度来看,注意到的是优化的过程会带来部分困扰,也许这些困扰可以通过其他的方法解决,但是学习基础过程时没有发现。