using System;
using System.Collections.Generic;
using System.Text;
namespace 接口
{
//Interface 没有class关键字 一般使用"IXxxx"命名书写
/// <summary>
/// 注意事项
/// 1.接口中所有方法都是抽象方法,所有接口不能被实例化
/// 2.一个类可以实现多个接口,被实现的接口之间用”逗号,“隔开
/// 3.一个接口可以继承多个接口(类只能单继承),接口之间也用逗号分隔
/// </summary>
interface IFly
{
//接口中不能包含“字段”
//private string s;
//但可以包含属性--(自动属性)
//public string Id { get; set; }
//string Id { get; set; }
//接口中的方法不能有“方法体”,全部都是抽象方法,但不需要abstract修饰。
void Fly();
//public void Hello();
//接口中的成员不允许添加访问修饰符,默认全是public。
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace 接口
{
class Car
{
private string brand;
public string Brand
{
get { return brand; }
set { brand = value; }
}
/*public Car()
{
}*/
public Car (string brand)
{
this.brand = brand;
}
public void Run()
{
Console.WriteLine("{0}品牌的汽车在奔跑", brand );
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
namespace 接口
{
class Batmobile:Car ,IFly //接口(为子类提供父类没有的“附加功能”。
{
public Batmobile(string brand) : base(brand)
{
}
public void Fly()//接口中的方法与类中重名时可使用显示实现 public IFly.Fly(){}
{
Console.WriteLine("{0}正在飞行", base.Brand);
}
}
}
//程序
using System;
namespace 接口
{
class Program
{
static void Main(string[] args)
{
BMWCar c1 = new BMWCar("750");
c1.Run();
Batmobile bat = new Batmobile("BatMan");
bat.Run();
bat.Fly();
}
}
}