title: Difference between methods of abstract and methods of non-abstract in C#?
body: <p>In C#, In an abstract class, provided method1 implementation and method2 as abstract. I can override both method1 and method2 in child classes. Then, what is the difference between abstract method and non-abstract method.</p>
  
  <pre><code> abstract class baseclass
      {
          public void nonabstract_method()
          {
              Console.WriteLine("non abstract method in base class with implementation");
          }
          public abstract void abstract_method();//abstract method declaration
  
      }
      class childClass1: baseclass
      {
          public void nonabstract_method()
          {
              Console.WriteLine("non abstract method in child class 1 with implementation");
          }
          public override void abstract_method()
          {
              Console.WriteLine("abstract method in child class 1 with implementation");
          }
      }
      class childClass2 : baseclass
      {   
  
  
          public void nonabstract_method()
          {
              Console.WriteLine("non abstract method in child class 2 with implementation");
          }
          public override void abstract_method()
          {
              Console.WriteLine("abstract method in child class 2 with implementation");
          }
          static void Main(string[] args)
          {
  
              childClass2 objClass2 = new childClass2();
              objClass2.nonabstract_method();
              objClass2.abstract_method();
  
              childClass1 objClass1 = new childClass1();
              objClass1.nonabstract_method();
              objClass1.abstract_method();
  
              Console.ReadLine();
          }
  
      }
  </code></pre>