接口描述的是可属于任何类或结构的一组相关功能。接口可由方法、属性、事件、索引器或这四种成员类型的任意组合构成。接口不能包含字段。接口成员一定是公共的。接口本身不提供功能,可以由类或者结构继承,因此接口较之类和结构更加抽象。
本示例声明了一个人的接口(Person),学生(Student)继承了这个接口。Person中有两个属性,编号和姓名。学生类,继承了这个接口,并且用Student()这个构造函数实现了学号的递增计算。Program类进行测试,即:输入现有学生数量和当前新学生姓名,输入“张三的学号是xxxx”例子如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace LearnInterface { interface Person { string Name { get; set; } int Num {get;} } public class Student : Person { //现有学生数量 public static int numberOfEmployees; /// <summary> /// 姓名的属性 /// </summary> private string name; public string Name { get { return name; } set { name = value; } } /// <summary> /// 学号 /// </summary> private int num; public int Num { get { return num; } } /// <summary> /// 计算学号 /// 构造函数,每次都会默认的调用 /// </summary> public Student() { num = ++num + numberOfEmployees; } } class Program { static void Main(string[] args) { Console.WriteLine("请输入现有学生数量:"); Student.numberOfEmployees=int.Parse(Console.ReadLine()); Console.WriteLine("请输入当前学生姓名:"); Student stu=new Student(); stu.Name=Console.ReadLine(); Console.WriteLine("学生"+stu.Name+"de学号为:"+stu.Num); Console.ReadLine(); } } }