博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#多态性-抽象类和抽象方法的使用
阅读量:5755 次
发布时间:2019-06-18

本文共 845 字,大约阅读时间需要 2 分钟。

定义抽象类和抽象方法的目的就是为子类提供一种规定,约束子类的行为。C#通过方法重写来实现抽象方法。当一个抽象基类派生一个子类时,子类将继承基类的所有特征,重新实现所有抽象方法。在子类中实现基类的抽象方法,是使用override关键字来重写基类方法。语法如下:

访问修饰符 override 返回类型 方法()

{
//方法体
}

重写抽象方法和重写虚拟方法是一样的。不同的是在基类一种是虚拟方法,另一种是抽象方法。通过override关键字可以在子类中重写方法,这样每种动物的叫声不相同了。

抽象类和抽象方法的作用:

using System;

public abstract class Animal
{
public abstract void Cry();
}

public class Dog: Animal

{
public override void Cry()
{
    Console.WriteLine("狗的叫声是汪汪");
}
}

public class Cat: Animal

{
public override void Cry()
{
    Console.WriteLine("猫的叫声是喵喵");
}
}

public class Sheep: Animal

{
public override void Cry()
{
    Console.WriteLine("羊的叫声是咩咩");
}
}

class Test

{
public static void Main()
{
    Dog mydog = new Dog();
    mydog.Cry();
    Cat mycat = new Cat();
    mycat.Cry();
    Sheep mysheep = new Sheep();
    mysheep.Cry();

}

}

在抽象类Animal中定义了抽象方法Cry(),在派生的子类重写这个方法,添加了具体实现。在Main()方法中,实例化了3个子类对象,访问了各自重写的方法。

转载地址:http://rpckx.baihongyu.com/

你可能感兴趣的文章
如何在linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分的...
查看>>
xenapp6.5中在chrome中无法打开网页
查看>>
Kubernetes入门
查看>>
企业面试 shell 入门脚本试题
查看>>
网络排错
查看>>
长时间monkey测试脚本
查看>>
三种加密算法和两种密钥交换机制讲解
查看>>
第10章代码《跟老男孩学习Linux运维:Shell编程实战》
查看>>
如何部署Samba服务
查看>>
故障检测、性能调优与Java类加载机制
查看>>
CommonJS,AMD,CMD规范
查看>>
SSD固态硬盘安装Win7途径之一:先工具软件分区篇
查看>>
DM×××
查看>>
六大生态系统的崛起:Apple、Google、Amazon、Microsoft、Facebook和Sony
查看>>
动态写轮眼,绝对值得你拥有的JAVA原创作品
查看>>
mk、cd、pwd、ls、touch、vi、cat、cp、mv的使用及命令快捷方式
查看>>
linux特殊符号大全
查看>>
我的友情链接
查看>>
APACHE_自定义404错误页面
查看>>
我的友情链接
查看>>