C# 接口

前言

“接口” 用于定义一种规范(标准),在多人合作的大型开发中,如果没有规范,代码就不能正确的配合。就像我们生活中使用的 USB 接口,就是一种标准,在 1994 年底由 Intel、Compaq、IBM、Microsoft 等多家公司联合提出,有了这个标准后,设备生产商生产的任何遵守该标准的设备,都能够接入 PC 机,到后来越来越多的地方采用这种标准,极大的方便了消费者选购产品,也提高了资源利用率,这就是 “规范” 的作用。

接口的作用:

1,制定规范,比如要求多个程序员小弟写不同的类,这些类中必须有相应的功能,就可以写一个接口让小弟继承,小弟的类继承接口之后,就必须完成所有的功能,否则编译不通过,即必须遵守制定的规范。

2,实现多继承。类的继承具有单根性,但是接口的继承则不限于此,就像一个孩子只可能有一个爸爸,但是可以有多种能力

接口的语法特点:

1,声明接口的关键字:interface ,接口命名:I + 功能概括 + able,比如 Ieatable

2,接口中的成员不允许添加访问修饰符,默认就是 public,而类中默认是 private

3,接口中不允许写函数的具体方法体,即 “只说不做”,只制定标准,不生产产品

4,接口中可以有属性,但只能是自动属性,因为自动属性本质上是方法,且不包含方法体

5,接口中不允许有字段,因为接口不可以存数据

6,综上,接口中只能有方法,而且是不带方法体的方法

7,类可以继承类和接口,但接口只能继承接口

 

写一个接口,如下所示,包含三个方法:

public interface Ieatable
{
     string eat(string food);
     void age();

     //public void fly(); // 1,接口中的成员不允许添加访问修饰符

     //void Test() // 2,接口中不允许写具有方法体的函数
     //{
     //    Console.Write("接口中的方法");
     //}

     //string _name; // 3,接口中不允许有字段,因为接口不可以存数据

     string Name   //4,接口中可以有属性(此处为自动属性),本质上就是方法。
     {
         get;
         set;
     }
}

继承一个接口,如下图所示,我们会发现编译后报错:

这是因为我们继承了 Ieatbale 接口之后,没有实现接口里的全部方法,上面就是没有实现 age() 方法。

使用一个继承了接口的类

static void Main(string[] args)
{
    Student s1 = new Student();
    s1.eat("apple");
}

后记

综上所述,接口的使用和语法规范还是很好理解的,合理的使用接口,可以保证程序员与程序员之间,项目与项目之间,完美的衔接。

 

 

 

 

— good night!

发表评论

Powered by WordPress | Theme Revised from Doo

苏ICP备18047621号

Copyright © 2017-2024 追光者博客