虚方法与抽象方法的比较
虚方法的使用
1:抽象方法仅仅是声明,没有任何实现内容;抽象方法一般必须在子类中被重写以后才有使用价值
2:针对抽象方法引出的问题:如果需要在父类中提供一个方法,该方法有自己的方法体,子类根据自己的需要决定是否重写该方法,而不是必须重写,这就是 ‘虚方法’
3:使用关键字virtual修改时的虚方法
- 父类
-
子类‘Cat’: 没有重写虚方法
子类‘Dog’:重写了虚方法
子类没有重写虚方法时,直接调用父类的虚方法
系统自带虚方法
关于Equals()虚方法
1,对于字符串和值类型能够自动比较是否相等。
2,对于对象比较必须重写后才有意义。
Equals()默认支持的是‘引用’相等 也就是比较俩个对象的‘地址’,而非对象本身,如果是值类型的数据,则可以直接比较结果。
让俩个对象的属性相等时,就认为俩个对象是一样的,就得重写Equals()这虚方法。
关于ToString()虚方法