Sunday, June 17, 2018

டாட்நெட் கற்றுக் கொள்ளலாம்-பகுதி-2



objects.
இவை கிளாஸ்களின் உறுப்பினர் ஆகும். அது ஒரு பொருளாகவோ, நபராகவோ, வங்கி கணக்காகவோ இருக்கலாம்.பொருள்நோக்கு நிரலாக்கமானது ஆப்ஜெக்ட்சையும் அதற்குள் நடக்கும் தகவல் தொடர்பையும் அடிப்படையாகவும் கொண்ளுள்ளது.அவை உண்மை உலகப் பொருட்களாக இருக்கலாம்.ஆப்ஜெக்ட்ஸானது நிணைவகத்தில் இடத்தையும் அதற்குண்டான நிணைவக முகவரியையும் கொண்டுள்ளது.
ஒரு நிரலானது இயக்கப்படும் பொழுது ஆப்ஜெக்ட்ஸானது ஒன்றுக்கொன்று தகவல் அனுப்பி தொடர்பு கொள்கின்றது.ஒவ்வொரு ஆப்ஜெக்ட்ஸும் தவகல்களையும் அதை கையாளுவதற்குண்டான நிரலாக்க வரிகளையும் கொண்டுள்ளது.ஆப்ஜெக்ட்ஸ் ஆனது அதன் தகவகல்களையும்(data) அதன் நிரலாக்க வரிகளையும் அறியாமலே ஒன்றுக்கொன்று தொடர்பு கொள்ளலாம்.
Classes
நாம் ஆப்ஜெக்ட்ஸானது டேட்டாவாவயும் அதை கையாளுவதற்கான நிரலாக்க வரிகளையும் கொண்டிருக்கும் என்று பார்த்தோம்.ஒரு ஆப்ஜெக்டின் டேட்டா மற்றும் நிரலாக்க வரிகள் முழுவதையும் class-ன் உதவியுடன் user defined டேட்டா டைப் ஆக மாற்றலாம். உண்மையில் ஆப்ஜெக்ட்ஸின் தரவினமானது class ஆகும்.ஒரு தடவை கிளாஸை உருவாக்கி விட்டால் அதை அடிப்படையாக கொண்டு எத்தனை ஆப்ஜெக்ட்ஸ் வேண்டுமானாலும் உருவாக்கிக் கொள்ளலாம். கிளாஸ் என்பது ஒரே இனத்தைச் சேர்ந்த ஆப்ஜெக்ட்ஸின் தொகுப்பு ஆகும். உதாரணத்திற்கு Employees என்கின்ற கிளாஸ் ஆனது ஒட்டு மொத்த ஊழியர்களின் தொகுப்பாகும்.
ஒரு வேரியபிளை அறிவிப்பதற்கு எந்த syntax பயன் படுத்துகிறோமோ அதே syntax தான் ஆப்ஜெக்ட்களை அதன் தரவினமாக class-ஐ அறிவிப்பதற்கும் உபயோகிறோம்.
உதாரணம்.
Rose flower;
Ram Employee;
Ganesh student;
மேலே உள்ள உதாரணங்களை பார்த்தால் rose என்பது flower இனத்தைச் சார்ந்ததாக அறிவிக்கப்பட்டிருக்கிறது. ஆதே போல் Ram என்பவர் Employee என்கின்ற இனத்தை சார்ந்தவராகவும் Ganesh என்பவர் student என்கின்ற இனத்தைச் சார்ந்தவராகவும் அறிவிக்கப் பட்டுள்ளது.
 class Program  
{  
static void Main(string[] args)  
{  
     baby vishnu = new baby();  
          Vishnu.weep();  
          Console.WriteLine("i am too little so i can weep only :-)");  
          Console.ReadLine();  
          Vishnu.eat();  
          Console.WriteLine("i eat curd rice");  
          Console.ReadLine();  
      }  
  }  
    
  class baby  
  {  
      public void weep()  
      {  
        Console.WriteLine(“Vishnu is weeping”)
      }  
      public  void eat()  
      {  
       Console.WriteLine(“Vishnu is eating”)
      }  
    
}   

மெயின் மெத்தட் ஏன் ஸ்டாட்டிக் என அழைக்கப்படுகின்றது.
Static மெத்தட் ஆனது ஆப்ஜெக்டை கொண்டு அழைக்கப்படுவதில்லை. கிளாஸை வைத்தே அழைக்கப்படுகின்றது.


கன்சோல் .ரீட் லைன், கன்சோல். ரைட் லைன் எதற்கு பயன்படுகின்றது.

Console.ReadLine என்பது இன்புட் வாங்குவதற்கும், Console.WriteLine என்பது அவுட்புட் செய்வதற்கும் பயன்படுகின்றது.

What is the concept of method?
மெத்தட் எனப்படுவது என்ன?
ஆப்ஜெக்ட்டால் நிறைவற்றப் படும் எல்லா நிகழ்வுகளும் மெத்தட் எனப்படுகின்றது. நான் என் உதவியாளரை அழைத்து ஒரு கடிதம் டைப் செய்ய சொல்கின்றேன். என் ரிமோட்டை எடுத்து சேனல் டூய்ன் செய்கின்றேன். இவ்வாறு நாம் பணியாற்றும் எல்லாக் காரியங்களும் மெத்தட் எனப்படுகின்றது.

மெத்தட் ஆனது
1.   மெத்தடின் டேட்டா டைப்
2.   ஆக்சஸ் மாடிஃபிகேசன்
3.   மெத்தடின் பெயர்
4.   மெத்தட் பணியாற்ற வேண்டிய செயல்கள்
5.   மெத்தட் ஆனது அறிவிக்கபடுதல்.
6.   மெத்தடை அழைத்தல்
7.   பராமீட்டர்கள்
8.   மெத்தட் சிக்னேச்சர்.


Csharp4.gif

using System;

namespace Addnumbers
{
    class Program
    {
        static void Main(string[] args)
        {
            AddNum a1 = new AddNum();
            a1.assign(25, 75);
            a1.Addition();
            Console.ReadKey();
        }
    }
    class AddNum
    {
        private int a;
        private int b;
        private int sum;
        public void assign(int x, int y)
        {
            a = x;
            b = y;
        }
        public void Addition()
        {
            sum = a + b;
            Console.WriteLine("sum= "+sum);
        }
       
    }
}
What is Method overload?

ஒரு கிளாஸினுள் ஒரே பெயரில் ஒன்றுக்கு மேற்பட்ட மெத்தட் இருக்கலாம். ஆனால் அதன் பராமீட்டர் ஆனது டேட்டா டைப்பை வைத்தோ அல்லது அதன் எண்ணிக்கையை வைத்தோ வேறுபடும்.
Code:
public class Methodoveloading    
   {    
     public int add(int a, int b)  //two int type Parameters method  
      {    
          return a + b;    
          
      }    
      public int add(int a, int b,int c)  //three int type Parameters with same method same as above  
      {    
          return a + b+c;    
      
      }    
      public float add(float a, float b,float c,float d)  //four float type Parameters with same method same as above two method 
      {    
          return a + b+c+d;    
      
      }    
  }     
மெத்தட் ஓவர் லோடிங்கிலிருந்து தெரிய வருவவை:
1.   ஒரு கிளாஸினுள் ஒரே பெயரில் ஒன்றுக்கு மேற்பட்ட மெத்தட் இருக்கலாம்.
 ஆனால் அதன் எண்ணிக்கையோ அல்லது டேட்டா டைப்போ வேறுபடும்.
கேள்வி :
ஒரு மெத்த்டை அதன் ரிடர்ன் டைப்பை அடிப்ப்டையாக கொண்டு ஓவர் லோட் செய்யலாமா?.
கூடாது. ஏனெனில் ஒரு மெத்தடை அழைக்கும் பொழுது அதன் ரிடர்ன் டைப்பை நாம் குறிப்பிடுவதில்லை.
மெத்தட் ஓவர்ரைடிங் எனப்படுவது என்ன?

What is Method Overriding?
இது பேரண்ட் கிளாஸினுள் உள்ள ஒரு மெதடை சைல்ட் கிளாஸினுள் உள்ள
மெத்தட் ஆனது ஒவர்ரைட் செய்யப் பயன்படுகின்றது. சைல்ட் கிளாஸில் சில சமயம் பேரண்ட் கிளாஸ்  உள்ள ஒரு மெதடின் சிக்னேச்சருடன்(ஓரு மெத்தடின் சிக்னேச்சர் என்பது அதன் பெயர் மற்றும் பராமீட்டர் டைப் ஆகியவையாகும்).
கவனத்தில் கொள்ள வேண்டியவை.
மெத்தட் ஓவர் ரைடிங்க் என்பது ஒரே கிளாஸில் சாத்தியமில்லை.
பேஸ் கிளாஸில்  உள்ள மெதட் virtual அல்லது abstract போன்ற மாடிஃஃபையர் உடன் இருக்க வேண்டும்.
  public class Account
    {  
      public virtual int balance()  
      {  
          return 10;  
      }  
    }  
  public class Amount:Account
  {  
       
      public override int balance()  
      {  
          return 500;  
      }  
 
 
What is Abstraction?
சில சமயங்களில் நமக்கு ஆப்ஜெக்ட் கிரியேட் செய்ய வேண்டுவதில்லை. அதே நேரத்தில் மற்ற கிளாஸிற்கு அது ஒரு பேரண்ட் கிளாஸாக இருக்க நேரிடலாம்.
உதாரணத்திற்கு account கிளாஸ். இதற்கு நாம் ஆப்ஜெக்ட் உருவாக்கப் போவதில்லை. அதே நேரத்தில் மற்ற savingsaccount, currentaccount போன்றவற்றிற்கு அடிப்படையாக செயல்படலாம்.
இதுவே அப்ஸ்ட்ராக்சன் எனப்படுகின்றது.




What is Polymorphism?
ஒரே செயலை வெவ்வேறு விதமான வழிகளில் செய்வதே பாலிமார்பிசம் எனப்படுகின்றது. மெத்தட் ஓவர் லோடிங்க், மெத்தட் ஓவர் ரைடிங்க் ஆகியவை பாலிமார்பிசம் ஆகும்.

What are namespaces?
நேம் பேஸஸ் என்பது கிளாஸ்களின் கலெக்சன் ஆகும். அதாவது நாம் ஃபைல்களை ஃபோல்டரில் இடுவது போல் கிளாஸ்களை நேம்பேஸ்களில் இடுவதாகும்.


முத்து கார்த்திகேயன்,மதுரை
ads Udanz

No comments:

Post a Comment