C#为什么要引入方法重写的机制?用什么意义和一般用途

2025-03-01 11:44:01
推荐回答(2个)
回答1:

题主完全无视什么是面向对象,什么是多态,建议题主还是好好回归课本。

可能题主有点儿 C 语言的底子,一头栽在面向过程的坑里还没出来。

而且题主有一个最重要的误区,认为重写比另定义方法是“偷懒”,其实后者才是明显的偷懒。看题主应该是学生,没接触过什么真正的项目,要知道在真正的项目里各个类内部的逻辑与类之间的关系的设计是十分复杂的,能找出若干个类之间的联系并抽出接口和抽象类的工作量明显要比随心所欲的让各个类之间“各自为战”困难的多,怎么在题主眼里变成是“偷懒”了?

那么问题来了,既然多态这么费事儿,干嘛要用多态?因为多态虽然说在前期设计上很费事儿(这就是为什么架构设计师比码农工资高的缘故)最重要的好处就是后期维!护!扩!展!方!便!要知道实际开发中没有一个项目编码完成后就不需要维护了的。

回答2:

不是的.
举个例子,比如我是基类,你是继承类,我定义了一个eat()吃的方法,我的实现是用筷子来吃饭.
你如果和我一样用筷子吃饭就直接调用eat(),但如果你要用刀叉吃饭,你就要自己实现了(用刀叉而不是筷子).
这就是个简单的应用场景,意在从架构上设计,不冗余