实例解析C#抽象类近来有很多童鞋问我有关抽象类的问题,很多初学者不明白为什么要有抽象类,什么情况下使用抽象类
网上搜了下,还真的没多少文章讲此类问题,那么我就在这里简单讲下,鉴于各类书籍、论坛、帖子上有关C#抽象类的语法现象解释的已经足够清楚了,我在这里就只说下抽象类在什么情况下用,举几个例子,并总结了一些C#抽象类的注意要点,供大家参考
我想大家都打过CS吧
(什么,没打过
拖出去)假如我们现在要开发一个模拟CS的游戏
我们的业务很简单,要求如下:1、游戏中要有恐怖分子,一个恐怖分子一次只能持有一支枪2、游戏中有多种枪支3、恐怖分子可以选择枪支使用4、恐怖分子可以开枪杀人仅此4条,为了使程序足够简单,能说明我们主要目标就行,所以我们用控制台程序来模拟实现
方法1我们先来看第一种实现情况,假设,游戏中现在有手枪(Pistol)和步枪(Rifle),那么我们必然需要有对应的两个枪械的类
//手枪类publicclassPistol{publicvoidShoot(){Console
WriteLine("手枪开始射击:叭叭叭");}}//步枪类publicclassRifle{publicvoidShoot(){Console
WriteLine("步枪开始射击:哒哒哒
");}}有了枪械,就可以来实现游戏中的恐怖分子了
业务清单中有一条,匪徒可以选择所用枪支,那么,我们的类可能就需要实现为下边的情况
//恐怖分子类publicclassTerrorist{privatePistolpistol;privateRiflerifle;publicvoidSetGun(objectgun)//换枪{if(gunisPistol){pistol=(Pistol)gun;//只能拿一支枪,在拿手枪的同时,rifle=null;要让步枪为null}else{rifle=(Rifle)