zoukankan      html  css  js  c++  java
  • C#中接口与抽象类

    1、使用抽象类—注意事项

      不能使用抽象类实例化抽象类对象
      抽象方法不能有实现
      抽象类中的可以有实现方法
      抽象类可以没有抽象方法
      抽象方法只能在抽象类和接口中
      非抽象子类必需实现抽象方法、属性、索引器和事件
      和普通类一样,类继承时也只能继承一个抽象类
      抽象方法、属性、索引器、事件访问修饰符不能为private
      抽象类通常前类前加上Abstract
    [范围访问修饰符]  interface  接口名{
        返回值类型 方法名称(形参);
        类型  属性名称{get;set;};
        返回值类型  this{get;set;};
        event  委托类型  事件名称;
        //…
    }
    public interface IUSB
    {
        USBType Type { get; }
        void Write(byte[] data);
        byte[] Read();
    }
    
     2、实现接口
    [范围访问修饰符]  class 类名:接口名,接口名…{
        //接口的实现
    }
    接口名与接口之间使用逗号隔开
    在接口上点右键选择【实现接口】,VS自动生成需要实现的方法
    接口与类名之间用冒号隔开
    public class Mouse : IUSB,IMiniUSE
    {
        #region IUSB 成员
        /*接口实现*/
        #endregion
    }
    
    public class Mouse : IUSB
    {
        #region IUSB 成员
        public USBType Type
        {
            get { return USBType.Mouse; }
        }
        public Mouse()
        {
            this.point = new byte[4];
        }
        private byte[] point;
    
        public void Write(byte[] data)
        {
            if (data.Length > 4)
                throw new ApplicationException("数据过大");
            this.point = data;
        }
        public byte[] Read()
        {
            return this.point;
        }
        #endregion
    }
    


    3、接口—注意事项

      接口方法中必需没有访问修饰符,默认为public
      不能使用接口实例化接口对象
      接口中不能有实现方法,包括空实现
      非抽象类中实现接口必需实现接口中的抽象方法
      接口可以继承0个以上的接口
      接口是C#中实现多继承的一种手段
      通常在接口名前加I表示接口
  • 相关阅读:
    WPF xaml中列表依赖属性的定义
    查询英语单词
    WPF 界面如何绑定Command
    C# 获取当前屏幕的宽高和位置
    WPF 列表开启虚拟化的方式
    WPF MVVM UI分离之《交互与数据分离》
    WPF TextBlock IsTextTrimmed 判断文本是否超出
    局部变量表中Slot复用对垃圾回收的影响详解
    ArrayList中的Iterator详解
    oracle
  • 原文地址:https://www.cnblogs.com/dclcc/p/3132625.html
Copyright © 2011-2022 走看看