c# 接口

2021-04-25 06:28

阅读:355

标签:函数   使用   main   构造   抽象类   console   不包含   直接   声明   

    1. 接口

      1. 接口类似于抽象基类,继承接口的任何非抽象类都必须实现接口的所有成员

      2. 不能直接实例化类

      3. 接口可以包含时间,索引器,方法和属性

      4. 接口不包含方法的实现

      5. 类和结构可以从多个接口继承

      6. 接口自身可以从多个接口继承    

接口修饰符:new、public、protected、internal、private,但是接口成员必须是公共

2.

//接口1 

     interface Interface1

        {

            int Add();

            

        }

//接口2

    interface Interface2

        {

            int Add();

        }

//类1

    class Class1:Interface1,Interface2

        {

            //public int Add()

           // {

               // return 1 + 2;

           // }

    

            //显示接口成员实现

            int Interface1.Add()

            {

                return 3 + 4;

            }

    

            int Interface2.Add()

            {

                return 5 + 6;

            }

        }

//main函数

            Class1 cl = new Class1();        //实例化接口继承类的对象

            int i = cl.Add();

            Interface1 i1 = cl;                //使用接口继承类的对象实例化接口

            Interface2 i2 = cl;

            //Console.WriteLine(cl.Add());    //38    //如果类中为实现方法,此部分就会报错

            Console.WriteLine(i1.Add());    //7

            Console.WriteLine(i2.Add());    //11

ps:显示接口成员实现中不能包含访问修饰符、abstract、virtual、override或static修饰符

    显示接口成员属于接口的成员,而不是类的成员,因此,不能 使用类对象直接访问

2.抽象类

    a.抽象类不能直接实例化

    b.抽象类中可以包含抽象成员,但非抽象类中不可以

    c.抽象类不能被密封

3.抽象方法:

    a.抽象方法必须声明在抽象类中

    b.声明抽象方法时,不能使用virtual、static、private修饰符

ps:抽象方法声明引入了一个新的方法,但不提供该方法的实现,由于抽象方法不提供方法实现,所以,抽象方法只包含一个分号

 

抽象类和接口:

      1. 派生类只能继承一个抽象类,可以继承多个接口

      2. 抽象类中可以定义成员的实现,但接口中不可以

      3. 抽象类包括字段、构造函数、析构函数、静态成员或者常量等,接口中不可以

      4. 抽象类中的成员可以是私有的,受保护的,内部的或受保护的内部成员,但接口的成员必须是公共的

抽象类主要用作对象系列的基类,共享某些主要特性,如共同的目的和结构

接口主要用于类,这些类在基础水平上有所不同,但仍可以完成某些相同的任务

 

c# 接口

标签:函数   使用   main   构造   抽象类   console   不包含   直接   声明   

原文地址:http://www.cnblogs.com/BeeSnow/p/7922752.html


评论


亲,登录后才可以留言!