zoukankan      html  css  js  c++  java
  • 十一、接口(接口的概念,实现,继承,实现)、抽象类与抽象方法(抽象类,抽象方法概念,使用)

    接口

    接口是一种用来定义程序的协议,它描述可属于任何类和结构的一组相关行为。

    接口可由方法、属性、事件和索引器这四种成员类型的任何组合构成,但不能包含字段。

    接口通过类继承来实现,一个类虽然只能继承一个基类,但可以继承任意接口。

    声明实现接口的类时,需在基类列表中包含类所实现的接口的名称。

    抽象类和抽象方法

    如果一个类不与具体的事物相关联,而只是表达一种抽象的概念,仅仅是作为其派生类的一个基类,这样的类就是抽象类。

    在抽象类中声明方法时,如果加上abstract关键字,则为抽象方法。

    抽象类主要用来提供多个派生类可共享的基类的公共定义,他与非抽象类的主要区别有:

    抽象类不能直接实例化。抽象类中可包含抽象成员,但非抽象类中不可以。抽象类不能被密封。

    C#声明抽象类要使用abstract关键字,具体格式为:访问修饰符 abstract class 类名 :基类或接口{//类成员}

    声明抽象方法要注意两点:抽象方法必须声明在抽象类中。声明抽象方法时,不能使用virtual、static和private修饰符

    //抽象类与抽象方法的使用
    
    public abstract class myClass
    {
          private string id="";
          private string name="";
          public string ID    //编号属性及实现
         {
              get{return id;}
              set{id=value;}
         }
          public string Name    //姓名属性及实现
         {
              get{return name;}
              set{name=value;}
         }
         public abstract void ShowInfo();//抽象方法,用来输出信息
    }                
    
    public class DriveClass:myClass     //继承抽象类
    {
          public override void ShowInfo()    //重写抽象类中输出信息的方法
         {
               Console.WriteLine(ID+""+Name);
          }
    }
    
    class Program
    {
           static void Main(string[] args)
           {
                 DriveClass driveclass=new DriveClass();  //实例化派生类
                 myClass myclass=driveclass   //使用派生类对象实例化抽象类
                 myclass.ID="BH001";//使用抽象类对象访问抽象类中的编号属性
                 myclass.Name="TM";//使用抽象类对象访问抽象类中的姓名属性
                 myclass.ShowInfo;//使用抽象类对象调用派生类中的方法
           }
    
    }
        

    运行结果为BH001 TM

  • 相关阅读:
    HDU 1358 Period (KMP)
    POJ 1042 Gone Fishing
    Csharp,Javascript 获取显示器的大小的几种方式
    css text 自动换行的实现方法 Internet Explorer,Firefox,Opera,Safar
    Dynamic Fonts动态设置字体大小存入Cookie
    CSS Image Rollovers翻转效果Image Sprites图片精灵
    CSS three column layout
    css 自定义字体 Internet Explorer,Firefox,Opera,Safari
    颜色选择器 Color Picker,Internet Explorer,Firefox,Opera,Safar
    CSS TextShadow in Safari, Opera, Firefox and more
  • 原文地址:https://www.cnblogs.com/baixiao/p/7746202.html
Copyright © 2011-2022 走看看