1
சி ஷார்ப்பில் கன்ஸ்ட்ரக்டர்கள்.

கன்ஸ்ட்ரக்டர் என்பது என்ன?
கன்ஸ்ட்ரக்டர் என்பது கிளாசின் சிறப்பு மெம்பர் ஃபங்க்சன் ஆகும். இது கிளாசிற்கு ஆப்ஜெக்ட் உருவாக்கும் பொழுது தானாக அழைக்கப்படும்.
கன்ஸ்ட்ரக்டரின் முக்கிய பயன் அந்த கிளாஸிற்க்கு ஆப்ஜெக்ட் உருவாக்கும் பொழுது அதன் பிரைவேட் ஃபீல்டுகளை தொடக்க மதிப்பிருத்தல் ஆகும்.
ஒரு கிளாசில் நாம் ஏதும் கன்ஸ்ட்ரக்டர் எழுதாத பொழுது சி ஷார்ப் கம்பைலர் ஆனதுடிஃபால்ட் கன்ஸ்ட்ரக்டரை வழங்கும்.
டிஃபால்ட் கன்ஸ்ட்ரக்டர் ஆனது எல்லா வேல்யூ டைப்களை 0 விற்க்கும் எல்லா ரெஃபெரென்ஸ்(ஸ்ட்ரிங்க், ஆப்ஜெக்ட்) நல்(null) மதிப்பிருத்திகின்றது.
கன்ஸ்ட்ரக்டர் குறித்து சில கருத்துக்கள்.
1.      ஒரு கிளாசில் எத்தனை கன்ஸ்ட்ரக்டர் வேண்டுமானாலும் இருக்கலாம்.
2.      கன்ஸ்ட்ரக்டருக்கு எந்த ரிடர்ன் டைப்பும் கிடையாது.( வாய்ட்(void) உள்ளிட்டு.)
3.      ஒரு ஸ்டேட்டிக் கன்ஸ்ட்ரக்டரால்  பாராமீட்டர்களை ஏற்பது இயலாது.
4.      ஒரு கிளாசிற்கு ஒரு கன்ஸ்ட்ரக்டர் மட்டும் தான்.
சி ஷார்ப்பின் 5 வகை கன்ஸ்ட்ரக்டர்கள்.
1.      டிஃபால்ட் கன்ஸ்ட்ரக்டர்
2.      பாராமீட்டரைஸ்டு கன்ஸ்ட்ரக்டர்.
3.      காப்பி கன்ஸ்ட்ரக்டர்
4.      ஸ்டேட்டிக் கன்ஸ்ட்ரக்டர்
5.      பிரைவேட் கன்ஸ்ட்ரக்டர்.
டிஃபால்ட் கன்ஸ்ட்ரக்டர்கள்.
எந்த பாராமீட்டரையும் ஏற்காத கன்ஸ்ட்ரக்டர்களை டிஃபால்ட் கன்ஸ்ட்ரக்டர் என்று அழைக்கின்றோம்.இதன் முக்கிய குறைபாடு கிளாசின் எல்லா ஆப்ஜெக்டும் ஒரே தொடக்க மதிப்பை கொண்டிருக்கும்.
சான்று நிரல்-1
1.    using System;  
2.    namespace DefaultConstractor  
3.    {  
4.        class addition  
5.        {  
6.            int a, b;   
7.            public addition()   //default contructor  
8.            {  
9.                a = 100;  
10.                                   b = 175;  
11.                               }  
12.                          
13.                               public static void Main()  
14.                               {  
15.                                   addition obj = new addition(); //an object is created , constructor is called  
16.                                   Console.WriteLine(obj.a);  
17.                                   Console.WriteLine(obj.b);  
18.                                   Console.Read();  
19.                               }  
20.                           }  
21.                       }  
வெளியீடு:
100
175.
பாராமீட்டரைஸ்டு கன்ஸ்ட்ரக்டர்கள்.
குறைந்த பட்சம் ஒரு பாராமீட்டராவது ஏற்கும் கன்ஸ்ட்ரக்டர் பாராமீட்டரைஸ்டு கன்ஸ்ட்ரக்டர் ஆகும். இதன் முக்கிய பயன்பாடு ஒவ்வொரு ஆப்ஜெக்டிற்கும் வெவ்வேறு மதிப்பிருத்தலாம்.
சான்று நிரல்-2
1.    using System;  
2.    namespace Constructor  
3.    {  
4.        class paraconstrctor  
5.        {  
6.          public  int a, b;  
7.          public paraconstrctor(int x, int y)  // decalaring Paremetrized Constructor with ing x,y parameter  
8.            {  
9.                a = x;  
10.                                   b = y;  
11.                               }  
12.                          }  
13.                           class MainClass  
14.                           {  
15.                               static void Main()  
16.                               {  
17.                                   paraconstrctor v = new paraconstrctor(100, 175);   // Creating object of Parameterized Constructor and ing values   
18.                                   Console.WriteLine("-----------parameterized constructor example-----------");  
19.                                   Console.WriteLine("t");  
20.                                   Console.WriteLine("value of a=" + v.a );  
21.                                   Console.WriteLine("value of b=" + v.b);  
22.                                   Console.Read();  
23.                               }  
24.                           }  
25.                       }  

வெளியீடு:
Value of a=100
Value of b=175
காப்பி கன்ஸ்ட்ரக்டர்கள்.
ஒரு ஆப்ஜெக்டில் இருந்து மதிப்பை எடுத்து மற்றொரு ஆப்ஜெக்டுக்கு காப்பி செய்யும் கன்ஸ்ட்ரக்டர் காப்பி கன்ஸ்ட்ரக்டர் எனப்படும்.
சான்று நிரல்.
1.    using System;  
2.    namespace copyConstractor  
3.    {  
4.        class employee  
5.        {  
6.            private string name;  
7.            private int age;  
8.            public employee(employee emp)   // declaring Copy constructor.  
9.            {  
10.                                   name = emp.name;  
11.                                   age = emp.age;  
12.                               }  
13.                               public employee(string name, int age)  // Instance constructor.  
14.                               {  
15.                                   this.name = name;  
16.                                   this.age = age;  
17.                               }  
18.                               public string Details     // Get deatils of employee  
19.                               {  
20.                                   get  
21.                                   {  
22.                                       return  " The age of " + name +" is "+ age.ToString();  
23.                                   }  
24.                               }  
25.                           }  
26.                           class empdetail  
27.                           {  
28.                               static void Main()  
29.                               {  
30.                                   employee emp1 = new employee("karthikeyan", 46);  // Create a new employee object.  
31.                                   employee emp2 = new employee(emp1);          // here is emp1 details is copied to emp2.  
32.                                   Console.WriteLine(emp2.Details);  
33.                                   Console.ReadLine();  
34.                               }  
35.                           }  
36.                       }  
வெளியீடு:
The age of karthikeyan is 46.

ஸ்டேட்டிக் கன்ஸ்ட்ரக்டர்.
ஒரு கன்ஸ்ட்ரக்டர் ஆனது static என்ற் கீவர்டுடன் சேர்ந்து குறிப்பிடும் பொழுது அது ஸ்டேட்டிக் கன்ஸ்ட்ரக்டர் எனப்படுகின்றது. இது எல்லா ஆப்ஜெக்டிற்கும் சேர்த்து ஒரே ஒரு முறை தான் அழைக்கப்படுகின்றது.
இது முதன் முதலாய் ஒரு கிளாசின் ஆப்ஜெக்ட் உருவாக்கும் பொழுதோ அல்லது முதல் ஸ்டேட்டிக் மெம்பர் உருவாக்கும் பொழுதோ அழைக்கப் படுகின்றது.
ஸ்டேட்டிக் கன்ஸ்ட்ரகடர் ஆனது ஒரு ஸ்டேட்டிக் ஃபீல்டை தொடக்க மதிப்பிருத்த பயன்படுகின்றது.
ஸ்டேட்டிக் பாராமீட்டர் குறித்த குறிப்புகள்.
1.      ஸ்டேட்டிக் கன்ஸ்ட்ரக்டர்கள் எந்த ஆக்சஸ் மாடிஃபையரையும், பாராமீட்டரையும் ஏற்பதி

Leave a comment