.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
C#and VB.net

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

C#中的接口
interface
[public|protected|private] interface   InterfaceName
{
//mothed
// propery
// event
//delegate
}
在实现接口时,带接口名与不带接口的区别
 不带的区别eg:
 public interface IMyShow
 {
 void Show();
 }
 public class MyShow:IMyShow
 {
 public void Show()//必须写上前的public若写成void Show()出错
 {
System.Console.Write(" 不带接口名");
 }
 }
 public class MyMain
 {
 public static  void Main()
 {
 // 用类定义引用
 MyShow obj=new MyShow();
 obj.Show();
 //用接口引用方法
   IMyShow obj2=new MyShow();
   obj2.Show();
  
 }
 }
 
 //带接口名
 public interface IMyShow
 {
 System.Console.Write("带接口名");
 }
 public class MyShow:IMyShow
 {
  void IMyShow.Show()// 前面不能带上任何限定词
  {
  System.Console.Write("带接口名");
  }
 }
 public class MyMain
 {
public static void Main()
{
MyShow obj=new MyShow();
obj.Show();//非法因为加了限定词后,这个方法专属于专们的一个引用,只能有接口去引用
IMyShow obj2=new MyShow();
obj2.Show();

}
 }
 看完上面的内容我想为C#的爱好留个问题。请大家一起来讨论一下
  public interface IMyShow
 {
   void Show();
 }
 public interface IMyShow2
 {
  void Show();
 }
 
 public class Myclass:IMyShow,IMyShow2
 {
  public Myclass()
  {
   
  }
 
 void IMyShow.Show()
  {
   System.Console.Write("IMyShow");

  }
 
  
 

  public void Show()
  {
   System.Console.Write("Myclass show");
  }

  void IMyShow2.Show()
  {
   System.Console.Write("IMyShow2.Show()");

   // TODO:  添加 Myclass.Show 实现
  }

 
 }

 class Class1
 {
  /// <summary>
  /// 应用程序的主入口点。
  /// </summary>
  [STAThread]
  static void Main(string[] args)
  {
   IMyShow obj2=new Myclass ();
   obj2.Show();
   IMyShow obj1=new Myclass();
   obj1.Show();
   Myclass obj=new Myclass();
   obj.Show();
  
  }
 }
}

 Namespace wfgSpace
    Public Interface IMyShow
        Sub Show()
        Function Add(ByVal a As Integer, ByVal b As Integer) As Integer

    End Interface
    Public Interface IMyShow2
        Sub Show()
        Function Add(ByVal a As Integer, ByVal b As Integer) As Integer

    End Interface
    Public Class MyCls : Implements IMyShow, IMyShow2
        Private iValue As Integer

        Sub Show() Implements IMyShow.Show
            System.Console.Write("wfng fu guo")
        End Sub
        Sub Show2() Implements IMyShow2.Show
            System.Console.Write("wfg")

        End Sub
        Function Add2(ByVal a As Integer, ByVal b As Integer) As Integer Implements IMyShow.Add, IMyShow2.Add


            iValue = a + b

            System.Console.WriteLine("{0}+{1}={2}", a, b, iValue)
        End Function
      
    End Class
    Public Class Common
        Public Shared Sub main()
            Dim obj As MyCls = New MyCls
            Dim obj2 As IMyShow = New MyCls
            Dim obj3 As IMyShow2 = New MyCls
            System.Console.WriteLine("Class MyCls Object")
            obj.Show2()
            obj.Add2(5, 4)

            System.Console.WriteLine("interface IMyShow object")
            obj2.Show()
            obj2.Add(5, 4)
            System.Console.WriteLine("interface IMyShow2 object")
            obj3.Show()
            obj3.Add(5, 4)

        End Sub
    End Class

End Namespace




相关文章

相关软件