H_J_H

------专用杂物房
posts - 26, comments - 1, trackbacks - 0, articles - 119

[导入]接口

Posted on 2006-04-26 21:17 H_J_H 阅读(27) 评论(0)  编辑 收藏 引用 所属分类: C#学习

 

接口类似于类,它可以包含方法、属性、事件和索引器,但是接口中只有成员的声明,接口本身不提供对它所声明的成员的实现。例如,在接口中只有方法的声明,而没有定义方法体,这一点与抽象类中的抽象方法类似。

一个接口定义一个协定,实现某接口的类或结构须遵守该接口定义的协定。例如,某个接口定义了两个方法,则要实现该接口的类必须定义这两个方法的实现,即编写它们的方法体。

 

例:

using System;

 

namespace jiekou

{

    interface Iflyable     // 定义接口

    {

        void fly();        // 只有方法声明

    }

 

    abstract class Vehicle // 定义抽象对象

    {

        public abstract void Start();// 抽象对象不能有方法体

    }

 

    class Car: Vehicle   // 定义了一个类,继承Vehicle这个对象,也就是继承了它的方法

    {

        public override void Start()// 在这里重写了方法Start

        {

            Console.WriteLine(" 汽车起步!");

        }

 

    }

 

    class Plane : Vehicle,Iflyable

    {

        #region Iflyable 成员

        public override void Start()

        {

            Console.WriteLine(" 飞机起飞!");

        }

 

 

        public void fly()

        {

            Console.WriteLine(" 我会飞!");// TODO:  添加 Plane.fly 实现

        }

 

        #endregion

 

    }

 

 

    class Class1

    {

        /// <summary>

        /// 应用程序的主入口点。

        /// </summary>

        [STAThread]

        static void Main(string[] args)

        {

            Vehicle car = new Car();

            Vehicle plane = new Plane();

            Iflyable flyer = new Plane();

            car.Start();

            plane.Start();

            fly(flyer);

            Console.WriteLine();

        }

        static void fly(Iflyable flyer)

        {

            flyer.fly();

        }

    }

}



sopper 2006-04-13 16:41

文章来源:http://sopper.cnblogs.com/archive/2006/04/13/374415.html
只有注册用户登录后才能发表评论。