博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

申明在接口中的方法,不可以包含方法的内容区块,简单来说就是不能有大括号存在。而属性,却有大括号,这里属性则和前面讲到的类中的属性定义差不多,但是它的大括号内也仅仅接受“getset”,其他的代码还是免谈。而注释的方式却和在类中的注释一样的写法注意,在接口中必须为每个类成员写注释。

接口基本上不具备继承的任何具体特点,它仅仅承诺了能够调用的方法,所以接口的申明方式和类其实是有很大区别的。例如下面:

首先向项目中添加一个接口文件【在解决方案资源管理器中指定的项目上点击鼠标右键à添加新项à选择“接口”à命名为“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();

        }

    }


本文章为天轰穿原创作品,转载请注明出处及作者。