为什么我不直接在自己的Class 中 把方法 写出来了?要去继承

解决方案 »

  1.   

    关键词是抽象,好多人都觉得什么继承啊,接口啊,可能意义都不大,针对真实的对象进行处理不就好了,何必定出来一堆乱七八糟的东西呢。
    这是因为好多人都是先做A,然后做一个用来处理A的B,这种做法永远不可能看出接口有什么用。
    如果你是先做B,这个B可以对继承基类BaseA(或实现接口IA)的对象进行处理,这样在 真实的A还没有产生之前B就已经做好了,将来不论做出多少种A,B都是不需要修改的。
      

  2.   

    说一下我的理解,我认为接口有一个作用就是约束作用
    譬如定义了一个汽车的接口,有轮子,有零件的定义,如果要实现写一个奔驰的类,实现这个接口,就必须实现轮子和零件的定义,如果要再写一个奥迪的类,再继承这个接口,那么也必须实现轮子和零件的定义,如果不用接口,那么我编写了奔驰类,可能只有实现一个轮子的方法,忘记编写零件的方法,不同的程序员编写代码,就有可能出现方法名称不同问题,那么别人调用的时候就会很麻烦。再就像petshop里面的,定义接口,bll层反射动态创建dal层,如果要新增一个不同数据库dal,只要实现已经定义好的接口就行了,如果不实现接口,那么你每次新增一个不同数据库的dal层,那么bll对应也要新增一个。private static readonly IUser dal = DataAccess.CreateInstance<IUser>("UserDal");
      

  3.   

    interface Itest
    {
        void a();
    }
    class test1 : Itest{ void a(){Console.writeline("A");}}
    class test2 : Itest{ void a(){Console.writeline("A");}}class t
    {
       public t(Itest test)
      {
         test.a();
       }
    }
    这样做在输出结果产生变化的时候。不需要改动t类。
      

  4.   

    写HELLO WORLD 当然不需要接口。
      

  5.   

    接口的作用就好像电脑USB。通过USB电脑可以连接不同种类的东西,只要其有USB接口;通过接口程序可以连接不同的类,只要其实现了接口。
      

  6.   

    接口对于程序的作用 就相当于 USB对于电脑的作用。
      

  7.   

    面向接口编程,而不是面向实现编程
    因为interface可以有多种实现,针对于不同的实现代码的功能可以千变万化,而不是永恒不变
    变则通
      

  8.   

    interface 飞实现
    鸟.飞
    飞机.飞
    鸟人.飞企鹅不实现
    所以企鹅.不飞