日期:2014-05-17  浏览次数:20375 次

重写和多态纠结,请高手指点
最近项目中遇到一个方法是在基类中已经存在的并且是虚方法。新的页面上基类的那个方法已经无法满足该页面的需求,需要重写一个。不知道是新写一个方法好还是将原来的方法重写下好?

------解决方案--------------------
累不累啊?如果不知道为什么,干么要搞什么“虚类”呢?你何必搞两个类型?
------解决方案--------------------
当你需要扩展、继承、多态(其实这是同一个意思的不同表现)的时候,是你理解了业务上的抽象和具体化关系、分析了多种子类接口之后的事情。比如说一个人明知道A报表、B报表、C报表.....等都需要复用父类几千行代码,而各自扩展几十行代码,他知道这个扩展以后,才去抽象。

一个有着不同类基础知识的人才可能真正想到去如何抽象,而不是追时髦。


------解决方案--------------------
重写方法。

你可以在重写中通过base.XXX()调用原来的代码。
------解决方案--------------------
之所以有虚方法,就是要求可以在子类中重写,记得用关键字 override 啊。