Constructor is a special method of a class which will invoke
automatically whenever instance or object of class is created. Constructors are
responsible for object initialization and memory allocation of its class. If we
create any class without constructor, the compiler will automatically create
one default constructor for that class. There is always at least one
constructor in every class.
Private Constructor
Private constructor is a special instance constructor used in a
class that contains static member only. If a class has one or more private
constructor and no public constructor then other classes is not allowed to
create instance of this class this mean we can neither create the object of the
class nor it can be inherit by other class. The main purpose of creating
private constructor is used to restrict the class from being instantiated when
it contains every member as static.
using System;
namespace ConsoleApplication3
{
public class Sample
{
public string
param1, param2;
public Sample(string
a,string b)
{
param1 = a;
param2 = b;
}
private Sample() //
Private Constructor Declaration
{
Console.WriteLine("Private
Constructor with no prameters");
}
}
class Program
{
static void Main(string[] args)
{
// Here we
don't have chance to create instace for private constructor
Sample obj = new Sample("Welcome","to Ritesh’s World");
Console.WriteLine(obj.param1 +" " + obj.param2);
Console.ReadLine();
}
}
}
|
Output
Welcome
to Ritesh’s
World
|
In above method we can create object of class with parameters
will work fine. If create object of class without parameters it will not allow
us create.
// it will
works fine
Sample obj = new Sample("Welcome","to Ritesh’s World ");
// it will
not work because of inaccessability
Sample obj=new Sample();
|
Important points of private constructor
- One use of private construct is when we have only static member.
- Once we provide a constructor that is either private or public or any, the compiler will not allow us to add public constructor without parameters to the class.
- If we want to create object of class even if we have private constructors then we need to have public constructor along with private constructor
No comments:
Post a Comment