C#--虚方法的使用

虚方法与抽象方法的比较

这里写图片描述

虚方法的使用

1:抽象方法仅仅是声明,没有任何实现内容;抽象方法一般必须在子类中被重写以后才有使用价值
2:针对抽象方法引出的问题:如果需要在父类中提供一个方法,该方法有自己的方法体,子类根据自己的需要决定是否重写该方法,而不是必须重写,这就是 ‘虚方法’
3:使用关键字virtual修改时的虚方法

  1. 父类

  2. 这里写图片描述

子类‘Cat’: 没有重写虚方法

这里写图片描述

子类‘Dog’:重写了虚方法

这里写图片描述

子类没有重写虚方法时,直接调用父类的虚方法

这里写图片描述

系统自带虚方法

这里写图片描述

关于Equals()虚方法
1,对于字符串和值类型能够自动比较是否相等。
2,对于对象比较必须重写后才有意义。

这里写图片描述

Equals()默认支持的是‘引用’相等 也就是比较俩个对象的‘地址’,而非对象本身,如果是值类型的数据,则可以直接比较结果。

让俩个对象的属性相等时,就认为俩个对象是一样的,就得重写Equals()这虚方法。


关于ToString()虚方法

这里写图片描述

这里写图片描述

这里写图片描述

重写ToString()虚方法

这里写图片描述

这里写图片描述

这里写图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值