C#重写和重载

关于重写:

要求:(三大同)参数相同,方法名相同,返回值相同

意义:增强类的重用性,扩展性,重写是对类中方法的扩充,重写继承用的是父类的东西,则不仅得到父类的特征,同时也加入了自己的东西

关键字:基类函数用virtual修饰,派生类用override修饰

注意:不能重写非虚方法或静态方法;

 

TestDemo

以下用一个简单的ConsoleApp(控制台)示例说明:

主题为动物,猫和狗属于动物,在这可以看出它们都有一个特性,都是会叫的动物但它们发出的叫声都不相同;我们可以用到重写去实现;

定义一个动物Animal类,类中存在一个返回string类型的Cry()方法;

 

定义完动物基类,接着则是猫和狗类,我们可以override去重写它们的叫声

定义Cat && Dog 类,因为他们都属于动物,So,都继承Animal;

方法都实现之后,我们在static  Main 方法中输入它,将Cat && Dog实例出来,看具体实现效果

实际效果:

关于重载:

要求:在同一作用域,可以存在相同的函数名,不同参数列表的函数,这组函数称为重载函数

意义:减少函数的数量,避免命名的污染,可应对不同的需求,针对同一母的不同情况 

TestDemo

以下用一个简单的ConsoleApp(控制台)示例说明:

定义两个Fun()方法但一个有入参,入参类型为string,另外一个则无入参,但方法名相同

在方法中实例出来并输出到控制台

 

实际运行效果:

 

 *补充点:刚刚提到static

那C#中static的作用?

标记为static的就不用创建实例对象调用了,可以通过类名直接点出来。

static可修饰类、字段、属性、方法。

 

总而言之,因为刚学过JAVA中的重写和重载就想着来总结一下C#中的重写和重载。

重载就是在同一个类中,方法名相同,参数列表不同。参数列表不同包括,参数的个数不同,参数类型不同等。重写就是子类重写父类的方法,在调用的时候,子类的方法会覆盖父类的方法,也就是会调用子类的方法

  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值