Introduction:
Here I will explain what is private constructor in c# with example. Private constructor in c# is used to restrict the class from being instantiated when it contains every member as static.
Description:
In
previous posts I explained static constructor in c#, copy constructor in c#, use of virtual,
override and new keyword with examples in c# method
overloading and overriding, delegates
example in c#,
OOPS
examples in c#
and many articles relating to interview
questions
in oops concepts, c#, asp.net, SQL server, JavaScript, jQuery. Now I will explain private
constructor in c#.net with example.
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. If you want to know more about constructors check this article constructors
in c#.
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 Aspdotnet-Suresh");
Console.WriteLine(obj.param1 +" " + obj.param2);
Console.ReadLine();
}
}
}
|
Output
Welcome
to Aspdotnet-Suresh
|
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 Aspdotnet-Suresh");
// 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
I
hope it helps to know about private constructor. If you want to know more about
constructors check this article constructors
in c#.
If you enjoyed this post, please support the blog below. It's FREE! Get the latest Asp.net, C#.net, VB.NET, jQuery, Plugins & Code Snippets for FREE by subscribing to our Facebook, Twitter, RSS feed, or by email. |
|||
|
|||
7 comments :
Nice Article...
useful
Nice
If a constructor is private, it will never be called. then what is the use of it?
then how can access the private constructor
Not a good explanation, guys search for Singleton pattern, Factory pattern, Pseudo sealed , Base constructor for more explaination.
the main use of private constructor is that when we use utility or resource file in our project that time just call that class without instanciating or inherting to save the memory reserve and faster access.
Note: Only a member of this blog may post a comment.