C#——重写与抽象类

本文通过《教父3》的比喻引入,详细介绍了C#中重写的概念,即子类如何调用并修改父类方法的行为。讨论了重写的规则,如需在父类方法前加virtual并在子类中用override。接着,对比了虚方法与抽象方法、抽象方法与抽象类之间的区别,并澄清了重写与重载的不同。总结指出,重写实现了多态,提高了代码的复用性和灵活性。
摘要由CSDN通过智能技术生成

概述

前几天,看了一个电影叫《教父3》,教父其实就是黑帮老大,他的儿子继承了他的位置,成为新的教父。小教父和老教父干的活差不多,都是经营他们的大家族,但是小教父努力使他们经营的产业走向和非法化,这就是他和他父亲的区别。
这和我们学的重写很像,重写就是调用一个方法,实现不同的行为。

详细介绍(重写)

子类想用父类的方法,但是要做一些修改,这就用到了重写。
子类的方法名可以和父类的方法名重名,但是会出现一条绿线,解决方法有两个。
一:在子类方法的修饰符后面加new就解决了
这里写图片描述
new是把父类中的方法隐藏了。
二:用重载
在父类的方法的修饰符后面加virtual;
这里写图片描述
在子类中重写父类的方法,加上override,可以更换父类方法里的内容。
这里写图片描述

Tips:虚方法与重写
1.方法不能用static修饰。
2.方法重写与基类的签名必须一致。
3.virtual不能与private一起使用。

比较

一、虚方法VS抽象方法

评论 42
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值