Abstract Interface : Interface : Class C# Examples


C# Examples » Class » Interface »

 

Abstract Interface









    
using  System;

public  interface  ICompare  {
        int  GetValue();
        int  Compare(ICompare  ic);
}

abstract  public  class  BaseClass  :  ICompare  {
        int  nValue;

        public  BaseClass(int  nInitialValue)  {
                nValue  =  nInitialValue;
        }

        public  int  Value  {
                get  {  return  GetValue();  }
        }
        public  int  GetValue()  {
                return  nValue;
        }

        abstract  public  int  Compare(ICompare  bc);
}

public  class  SubClass  :  BaseClass  {
        public  SubClass(int  nInitialValue)
                :  base(nInitialValue)  {
        }

        override  public  int  Compare(ICompare  ic)  {
                return  GetValue().CompareTo(ic.GetValue());
        }
}

public  class  Class1  {

        public  static  void  Main(string[]  strings)  {
                SubClass  sc1  =  new  SubClass(10);
                SubClass  sc2  =  new  SubClass(20);

                MyFunc(sc1,  sc2);
        }

        public  static  void  MyFunc(ICompare  ic1,  ICompare  ic2)  {
                Console.WriteLine("bc1.Compare(bc2)  returned  {0}",
                                                    ic1.Compare(ic2));
        }
}
    
   
  
   




HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo Class
» Interface