博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#接口实现多态
阅读量:6251 次
发布时间:2019-06-22

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

我比较喜欢对感兴趣的理论进行反复的理解甚至理解背诵下来,接下来再复习一下什么叫多态(哈哈哈)

多态:在同一粒度视图下对相同类型的事物不做区别的统一处理

接下来看一下接口和引擎类是如何实现多态的:

一、

1、创建了一个接口类:IWeapon

1 public interface IWeapon2     {3         void Fire();4     }

2、声明几个类去实现这个接口(展示描述的词语是我老师的佳作,我可是软妹子(哈哈哈))

1  public class Gun : IWeapon 2     { 3         public void Fire() 4         { 5             Console.WriteLine("pa peng pa peng"); 6         } 7     } 8  9     public class Sword : IWeapon10     {11         public void Fire()12         {13             Console.WriteLine("七剑下天山");14         }15 16     }17 18     public class Tank : IWeapon19     {20         public void Fire()21         {22             Console.WriteLine("压死你");23         }24     }25 26     public class Xiaomugun : IWeapon27     {28         public void Fire()29         {30             Console.WriteLine("扎死你");31         }32     }

3、创建一个引擎类:Engine(以接口为参数)

1 public static void Play(IWeapon w)2         {3             w.Fire();4         }

4、在程序入口处调用引擎类,实现多态

1 InterfaceDemo.Engine.Play(new InterfaceDemo.Gun());2 InterfaceDemo.Engine.Play(new InterfaceDemo.Sword());3 InterfaceDemo.Engine.Play(new InterfaceDemo.Tank());4 InterfaceDemo.Engine.Play(new InterfaceDemo.Xiaomugun());

上面调用的结果是:

1 pa peng pa peng2 七剑下天山3 压死你4 扎死你

顺便复习一下抽象类和接口的一点小区别:

一个类可以去实现多个接口,表示这个类的对象可以做什么

一个类只能继承一个抽象类,相当于派生类是一个抽象类的意思,从属关系比较紧凑

转载于:https://www.cnblogs.com/fllowerqq/p/10797522.html

你可能感兴趣的文章
常用正则表达式
查看>>
P3308 [SDOI2014]LIS(最小割+退流)
查看>>
Intellij IDEA 快捷键整理
查看>>
C语言作业--数据类型
查看>>
[POI2012]STU-Well
查看>>
压位高精
查看>>
655. Print Binary Tree
查看>>
jsp 中对jar 包的引用
查看>>
python操作mysql数据库
查看>>
Yii: gii 403 Error you are not allowed to access this page
查看>>
Android SVG矢量资源的使用方法
查看>>
计算汉字长度
查看>>
RSA签名验签学习笔记
查看>>
Codeforces 911E - Stack Sorting
查看>>
BZOJ 1853: [Scoi2010]幸运数字
查看>>
Pessimistic and optimistic locking
查看>>
基于敏捷的测试交付物通用设计
查看>>
svn变更自动触发jenkins构建工程-简单版
查看>>
BFS --- 素数环
查看>>
for循环每次取出一个字符(不是字节)
查看>>