namespace HomeWork
{
class Firearms
{
private string type;//成员变量 品牌
//属性 品牌
public string Type
{
get
{
return type;
}
set
{
type = value;
}
}
//属性 重量 没有对应的成员变量
public string Weight
{
get;
set;
}
private static string nature = "Kill People!";
//静态属性 枪械的本质 属于所有枪械的属性 所有实例属性不可更改
public static string Nature
{
get
{
return nature;
}
}
//初始子弹数
private int bulletNumber = 0;
public int BulletNumber
{
get
{
return bulletNumber;
}
set
{
if (value < FullBulletNumber)
bulletNumber = value;
else
{
Console.WriteLine("初始子弹数量超弹夹容量;弹夹容量已满");
bulletNumber = FullBulletNumber;
}
}
}
//弹夹容量
private int fullBulletNumber = 30;
public int FullBulletNumber
{
get
{
return fullBulletNumber;
}
set
{
fullBulletNumber = value;
}
}
/// <summary>
/// 计算装弹后弹夹内子弹数目
/// </summary>
/// <param name="val">装弹数目</param>
public void Load(int val)
{
int number = BulletNumber + val;
if (number < FullBulletNumber)
Console.WriteLine("此枪械弹夹容量为{0},您装入{1}发子弹,现在弹夹内子弹数为:{2}",FullBulletNumber, val, number);
else
Console.WriteLine("您装入{0}发子弹,此枪械弹夹容量已满为:{1}", val, FullBulletNumber);
}
}
}
namespace HomeWork
{
class Gun : Firearms
{
/// <summary>
/// 默认构造函数
/// </summary>
public Gun()
{
}
/// <summary>
/// 构造函数
/// </summary>
/// <param name="Type">枪械型号</param>
/// <param name="FullBulletNumber">弹夹容量</param>
/// <param name="BulletNumber">初始弹夹子弹数</param>
public Gun(string Type, int FullBulletNumber, int BulletNumber)
{
this.Type = Type;
this.FullBulletNumber = FullBulletNumber;
this.BulletNumber = BulletNumber;
}
}
}
namespace HomeWork
{
class Program
{
static void Main(string[] args)
{
Gun gun1 = new Gun();
gun1.FullBulletNumber = 24;
gun1.BulletNumber = 10;
gun1.Load(13);
Console.WriteLine(Firearms.Nature);
Gun gun2 = new Gun("M1911", 7, 8);
gun2.Load(3);
Console.WriteLine("手。枪的本质是" + Gun.Nature);
Console.ReadLine();
}
}
}