申明在接口中的方法,不可以包含方法的内容区块,简单来说就是不能有大括号存在。而属性,却有大括号,这里属性则和前面讲到的类中的属性定义差不多,但是它的大括号内也仅仅接受“get和set”,其他的代码还是免谈。而注释的方式却和在类中的注释一样的写法注意,在接口中必须为每个类成员写注释。
接口基本上不具备继承的任何具体特点,它仅仅承诺了能够调用的方法,所以接口的申明方式和类其实是有很大区别的。例如下面:
首先向项目中添加一个接口文件【在解决方案资源管理器中指定的项目上点击鼠标右键à添加新项à选择“接口”à命名为“IBook.cs”】,然后接口中代码如下
using System;
namespace Interface_Demo { interface IBook //添加public关键字 { ///<summary> ///书名 ///</summary> string BookName { get; set; } ///<summary> ///插入到指定日期 ///</summary> void InsertToDate(); } } |
而继承,或者说实现这个接口的类就必须实现该接口中全部的方法、属性和事件。如下,(对了,下面这个类一定要和上面接口的命名空一样,如果不一样则需要引用):
public class Book : IBook { //我们声明这样一个类,他继承了接口IBook string bookname; public Book(string bn) { bookname = bn; } ///<summary> ///实现接口中的BookName属性 ///</summary> public string BookName { get { return bookname; } set { bookname = value; } } ///<summary> /// 实现接口中声明的方法 ///</summary> public void InsertToDate() { //将我们的信息写如数据库 } } //-------------------使用上面的接口和类-------------------- class Program { //使用接口 static void Main(string[] args) { //申明类型是接口IBook,而实例化的类型则是Book IBook ib = new Book("天轰穿系列图书"); Console.WriteLine(ib.BookName);
Console.ReadLine(); } } |