虚方法与抽象方法的比较

C#--虚方法的使用

虚方法的使用

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

  1. 父类

  2. C#--虚方法的使用

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

C#--虚方法的使用

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

C#--虚方法的使用

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

C#--虚方法的使用

系统自带虚方法

C#--虚方法的使用

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

C#--虚方法的使用

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

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


关于ToString()虚方法

C#--虚方法的使用

C#--虚方法的使用

C#--虚方法的使用

重写ToString()虚方法

C#--虚方法的使用

C#--虚方法的使用

C#--虚方法的使用

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-06-21
  • 2022-01-11
猜你喜欢
  • 2021-09-02
  • 2022-12-23
  • 2021-10-09
  • 2022-12-23
  • 2022-12-23
  • 2021-12-11
  • 2022-12-23
相关资源
相似解决方案