首先是接口不需要使用public,因为接口是必须公开的,而抽象类里面的方法可以不分开
还有,接口中不能包含字段,但是可以包含属性
将其改成属性后编译时出错,因为实现了接口的类也必须去实现这个属性!
此时在类后面的接口名称上停留片刻就会出现小菜单,点击实现接口后就会在其继承类中自动生成代码,减少输入量
最后的测试代码如下:
class Program { static void Main(string[] args) { I显示 播放器 = new 屏幕(); 播放器.在("视频"); 播放器 = new 数字播放(); 播放器.在(15); Console.ReadLine(); } } interface I显示 { string str { get; set; } void 在(object 哪儿); } class 屏幕:I显示 { public void 在(object 哪儿) { Console.WriteLine("在屏幕上显示{0}",(string)哪儿); } } class 数字播放:I显示 { public void 在(object 哪儿) { Console.WriteLine("在数字中出现{0}",(int)哪儿); } public string str { get { throw new NotImplementedException(); } set { throw new NotImplementedException(); } } }记得老师说过,抽象类和接口差不多,接口更加注意于相同功能的一个提取,比如飞行这个功能,飞机和鸟都能飞行,但显示他们不属于同一个类,没有继承关系,用抽象类去实现不合适,而使用接口就避免了一个继承上的问题,仅仅关注于功能的实现,一句话,有相同的功能就用接口(啰嗦了些..)