有两个接口:分别为ISomeA、ISomeB
    public interface ISomeA
    {
         object Find(object o);
         object List();
    }
    public interface ISomeB
    {
         object Find(object o);
         object List();
         bool   IsMatch(object o);
    }
然后有两个类分别实现接口继承:
    public class SomeA : ISomeA
    {
         object[] _collectionList; 

         public SomeA(object[] collectionList)

         {

                   //构造函数

         } 

         object Find(object o)

         {

                   //实现Find方法

         }

         object List()

         {

                   //实现List方法

         }

         public bool IsMatch(object o)

         {

                   //实现IsMatch方法,类SomeA的公有方法。不是实现接口ISomeA的声明

         }

   } 

   public class SomeB : ISomeB

   {

         object[] _collectionList;

 

         public SomeB(object[] collectionList)

         {

                   //构造函数

         } 

         object Find(object o)

         {

                   //实现Find方法

         }

         object List()

         {

                   //实现List方法

         }

         bool IsMatch(object o)

         {

                   //实现IsMatch方法,实现接口ISomeB的继承

         }

   }  
最后在实例化两个对象:

        //objList某个对象数组

        SomeA objA = new SomeA(objList);

        SomeB objB = new SomeB(objList);   

那么
1:对象的公有方法是否是他的接口。
2:对象objA与objB是否有相同的接口。
3:对象objA与objB是否是相同的类型。

我的答案:
1:对象的公有方法应该是他的接口。因为接口是他所能响应的请求的集合(对象操作所定义的所有型构/签名的集合)。
2:对象objA与objB实质上具有相同的接口,尽管他们继承的接口不一样。
3:对象的类型完全取决与他的接口,根据2可知他们具有相同的类型。(我对2、3比较疑惑,感觉非常矛盾,他们应该明显的不是相同的类型!)

谁能清楚的告诉我这几个问题的答案!欢迎大家指教!

posted on 2004-03-24 19:29  我爱妞妞我  阅读(994)  评论(1编辑  收藏  举报