Search code examples
c#constructorabstract-class

Constructor of an abstract class in C#


Why is it possible to write constructor for an abstract class in C#?
As far as I know we can't instantiate an abstract class.. so what is it for?
You can't instantiate the class, right?


Solution

  • Because there might be a standard way you want to instantiate data in the abstract class. That way you can have classes that inherit from that class call the base constructor.

    public abstract class A{
    
        private string data;
    
        protected A(string myString){
          data = myString;
        }
    
    }
    
    public class B : A {
    
         B(string myString) : base(myString){}
    
    }