接口 - interface


     接口:接口就是公共契约.
     接口的关键字:interface
     接口和类属于同级关系,都属于c#中的编程单位.
     接口也被称作纯洁的抽象类
  
     接口特点:
     1.不能有字段
     2.接口内不能有修饰符
     3.接口中不能有方法体(方法实现)
     4.接口同样不可以被直接实例化
     5.接口里面成员总是公共的
     6.接口中可以有属性,但是不能有修饰符
    7.接口中可以有索引器/事件声明
     8.接口中声明的方法,子类实现的时候虽然也用override关键字,但是记住不属于重写.这里不能把
       override显示的声明出来.
  
  开发准则:尽量多用接口.
  能用接口的不用抽象类,能用抽象类不用虚方法.

 
  动态多态性.
using System;
using System.Collections;
namespace OOP接口
{
	interface IInput
	{
		void Read();
	}

	interface IInputTwo
	{
		void Read();
	}

	class Test:IInput,IInputTwo
	{
		public string name;


		//如果接口出现方法同名情况需要以下列方式实现,但是调用的时候
		//要用动态多态性调用,非常规调用方式
//		public void IInput.Read(){
//			Console.WriteLine ("1111");
//		}
//
//		public void IInputTwo.Read(){
//			Console.WriteLine ("2222");
//		}



		public void Read(){
			Console.WriteLine ("1111");
		}

//		public void Read(){
//			Console.WriteLine ("2222");
//		}

		public IInput T(){
			Test t = new Test ();
			t.name = "测试返回接口实例";
			return t;
		}
			
	}

	class MainClass
	{		
		public static void Main (string[] args)
		{
//			new Test ().Read ();

			//返回接口实例
			Test t = new Test();
			Console.WriteLine (t.name);

			Test t1 = (Test)t.T ();
			Console.WriteLine (t1.name);

//			Test t = new Test ();

		}


	}
}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值