一· 定义
继承:表示一个类型派生于另一个基类型,它拥有该基类型所有成员字段和函数。
二· 特性
1.单一性:一个类,只能派生自另外一个直接基类。
2.多重接口继承:一个类,可以派生自多个接口。
3.传递性:类C继承类B,类B又继承类A,那么C不仅继承B也继承A
4.System.Object是一个公共基类,C#中每个类(除了Object类)都有一个基类。
上代码:
namespace _021_继承
{class Enemy
{
private float hp;
private float speed;
public float HP { get; set; }
public float Speed { get; set; }
public void Attack() {
Console.WriteLine("调用父类Enemy的 Attack()方法");
}
public void Move() {
Console.WriteLine("调用父类Enemy的 Move()方法");
}
}
}
namespace _021_继承
{
class Boss:Enemy
{
public void AI() {
Console.WriteLine("调用子类Boss的 AI()方法 ");
Attack();//调用父类Attack()方法
Move();//调用父类Move()方法
base.HP = 100;//调用父类HP属性
base.Speed = 23.66f;//调用父类Speed属性
}
}
}
namespace _021_继承
{
class EnemyType1:Enemy
{
}
}
/// <summary>
/// 继承:父类里面所有的数据成员和函数成员都会继承到子类里面
/// </summary>
namespace _021_继承
{
class Program
{
static void Main(string[] args)
{
Boss boss= new Boss();
boss.AI();//调用子类AI()方法
Console.WriteLine();
EnemyType1 enemy1 = new EnemyType1();
enemy1.Attack();//调用父类Attack()方法
enemy1.HP = 20.6f;//调用父类HP属性
Console.WriteLine("调用父类 HP属性,设置HP = {0}",enemy1.HP);
Console.ReadKey();
}
}
}