c# 接口方法中使用new有什么用?

2025-04-10 22:05:40
推荐回答(1个)
回答1:

//接口示例
class Program 

   static void Main(string[] args) 
   { 
       S s = new S(); 
       s.Fun(); 
       s.Method(); 
       s.Run(); 
       s.Start(); 
   } 
}
interface IFA 

   void Fun();//接口中的方法默认都为public;但不能显示使用public 
}
interface IFB : IFA //子接口IFB继承了父接口IFA 

   void Method();//子接口中又添加了新的方法 
}
interface INC 

   void Start(); 
}
class F 

   public virtual void Run() 
   { 
       Console.WriteLine("Run() in F!"); 
   } 
}

class S : F, IFB, INC //子类S在继承父类的同时又实现了另外两个接口 

   public override void Run() 
   { 
       Console.WriteLine("Run() in S!"); 
   }
   //继承接口,必须描述接口所有的方法。接口定义了一个个的空方法,这些方法需要继承它的类挨个实现。接口什么实现都没有,不用重写,不需要使用override关键字
   public void Fun()
   { 
       Console.WriteLine("Fun() in S!"); 
   }
   public void Method() 
   { 
  Console.WriteLine("Method() in S!");
  }
  public void Start()
  {
  Console.WriteLine("Start() in S!");
  }
 }

  abstract class T : IFB
  {
  //在T中未实现接口IFB中的所有方法;因此它是一个抽象类
  public void Method()
  {
  Console.WriteLine("Method() in S!");
  }
  public abstract void Fun();
  }
   注意:接口中只能包含方法、属性、索引器和事件的声明。不允许声明成员上的修饰符,即使是pubilc都不行,因为接口成员总是公有的,也不能声明为虚拟和静态的。如果需要修饰符,最好让实现类来声明。
   接口就是抽象类和虚方法的杂种!
   个人理解: C#是单继承,接口是解决C#中 类不能同时继承多个基类的解决方法。