接口与抽象类

来源:互联网 发布:相与枕藉乎舟中的乎 乎 编辑:程序博客网 时间:2024/05/16 05:57

本质上讲,接口是一种特殊的抽象类这种抽象类中指定实现该接口的类必须提供的成员,实现接口的类就必须要实现接口中的所有方法和属性。
1.解决一个类不能继承多个类问题,一个类可以支持多个接口。
2.通过接口多个不相关的类可以实现各自的行为,多个类也可以支持相同的接口。

interface IShape   <将class改为interface>
{
     void Draw();
}
 class Circle : IShape
 {
        private double x;
        private double y;
        private double z;
        public Circle(double x, double y, double z)
        {
            this.x = x;
            this.y = y;
            this.z = z;
        }
        public void Draw()
        {
            System.Console.WriteLine("x:"+x+"\n"+"y:"+y+"\n"+"z:"+z);
        }
 }
static void Main(string[] args)
{
    IShape circle1 = new Circle(2, 3, 4);
     circle1.Draw();
     Console.ReadKey();
}
接口与抽象类区别
1.类是对对象的抽象,抽象类是对类的抽象,接口是对行为的抽象。
2.如果行为跨越不同类的对象,可使用接口。
3.抽象类是从子类中发现了公共的东西,泛化出父类,然后子类继承父类,而接口是根本不知子类的存在,方法如何实现还不确认,预先定义。