关于重写:
要求:(三大同)参数相同,方法名相同,返回值相同
意义:增强类的重用性,扩展性,重写是对类中方法的扩充,重写继承用的是父类的东西,则不仅得到父类的特征,同时也加入了自己的东西
关键字:基类函数用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可修饰类、字段、属性、方法。
转载:https://blog.csdn.net/qq_41910522/article/details/89976607