Tuesday, May 2, 2017

சி-ஷார்ப்பில் மெத்தட்கள்.


ஆப்ஜெக்ட் ஒரியண்டட் ப்ரொக்ராமிங்கில் ஆப்ஜெக்ட் என்பது அடிப்படை உறுப்பு ஆகும்.ஆப்ஜெக்டின் பண்புகள் fields ஆகவும் behavior ஆனது மெத்தட் ஆகவும் நடைமுறைப் படுத்தப்படுகின்றது.
மெத்தட் என்பது ஒன்று அல்லது ஒன்றுக்கு மேற்பட்ட கட்டளை வரிகளின் தொகுப்பு ஆகும்.பொதுவாக மெத்தட்கள் ஒரு குறிப்பிட்ட செயலைச் செய்வதாக அமைக்கப்பட வேண்டும். அதுவே சிற்ந்த நிரலாக்க முறை என அறியப்படுகின்றது.
மெத்தட்களின் நண்மைகள்
Ø  Modularity கிடைக்கின்றது
Ø  Code duplication தவிர்க்கப்படுகின்றது.
Ø  Code reusability கிடைக்கின்றது.
Ø  டேட்டா ஹைடிங் சாத்தியப் படுகின்றது.

பொதுவாக மெத்தட் ஆனது பின் வருவனவற்றைக் கொண்டிருக்கின்றது.

Ø  மெத்தட் அணுகு முறை
Ø  மெத்தட் திருப்பி அனுப்பும் டேட்டா டைப்
Ø  மெத்தடின் பெயர்
Ø  பராமீட்டர்கள்.
Ø  ப்ராக்கெட்
Ø  மெத்தடின் கட்டளை வரிகள்
மெத்தட் அணுகுமுறை public, private, priotected போன்றவைகளாக இருக்கலாம்,.public என்பது class-க்கு வெளியே அந்த  மெத்தடை அணுக முடியும்., private என்றால் class-க்கு வெளியே அந்த மெத்தடை அணுக முடியாது. Protected என்றால் அந்த கிளாசிலும் அந்த கிளாசை இன்ஹெரிட் செய்யும் கிளாசிலும் அணுகலாம்.
மெத்தட் திருப்பி அணுப்பும் மதிப்பு int,float,char போன்றவைகளாக இருக்கலாம்.எந்த மதிப்பையும் திருப்பி அனுப்பாதப் மெத்தட் void எனக் குறிப்பிடப்படுகின்றது.
மெத்தட் பராமீட்டர்கள் ஒன்று அல்லது ஒன்றுக்கு மேற்ப்பட்டவைகளாக இருக்கலாம். எந்த பராமீட்டரும் ஏற்காத மெத்தட் ஆகவும் இருக்கலாம்.
ஒரு மெத்தடின் signature என்பது அந்த மெத்தடின் பெயர் மற்றும் அந்த மெத்தடின் பராமீட்டைகளை பற்றிய விவரங்கள் ஆகும். மெத்தடின் signature எனப்படுவதில் மெத்தட் திருப்பி அனுப்பும் மதிப்பு சம்பந்தப் படாது.
உதாரண நிரல்-1

using System;

public class Base
{
    public void Printnfo()
    {
        Console.WriteLine("This is From Base class");
    }
}

public class SimpleMethod
{
    static void Main()
    {
        Base b1 = new Base();
        b1.Printnfo();
       
    }
}
வெளியீடு:
This is From Base class
மேலே உள்ள நிரலில் PrintInfo என்கின்ற மெத்த்ட் ஆனது Base எங்கின்ற கிளாசின் உள்ளே உள்ளது. இந்த மெத்த்டில் static என்கின்ற keyword இல்லாததால் இது instance மெத்தட் ஆகும். அதாவது இந்த மெத்தடை அழைக்க முதலில் Base எங்கின்ற கிளாசிற்கு ஆப்ஜெக்ட் உருவாக்கப்பட வேண்டும். பிறகு objectname.methodname () அழைக்கப்பட  வேண்டும்.இங்கு b1  எங்கின்ற ஆப்ஜெக்ட் உருவாக்கப்பட்டு பிறகு b1PrintInfo என அழைக்கப்பட்டுள்ளது.
பராமீட்டர்களை ஏற்கும் மெத்தட்கள்.
உதாரண நிரல்:2
using System;

public class Addition
{
    public int SumTwoValues(int x, int y)
    {
        return x + y;
   

    public int SumThreeValues(int x, int y, int z)
    {
        return x + y + z;
    }
}

public class MethodParameters
{
    static void Main()
    {
        Addition a = new Addition();
        int x = a.SumTwoValues (10, 15);
        int y = a.SumThreeValues (10, 15, 25);

        Console.WriteLine(x);
        Console.WriteLine(y);
    }
}
வெளியீடு:
25
50
இங்கு Addition எங்கின்ற கிளாஸிற்குள் SumTwoValues மற்றும் SumThreevalues என்று இரண்டு மெத்தட்கள் உள்ளன. இவை முறையே இரண்டு மற்றும் மூன்று int பராமீட்டர்களை ஏற்கின்றன. இரண்டுமே ஒரு int பராமீட்டரை திருப்பி அணுப்புகின்றது.
Params பராமீட்டர்கள்:
எண்ணிக்கையில் மாறுபடும் பராமீட்டர்களை அணுப்ப params keyword பயன்படுகின்றது.params எங்கின்ற keyword பராமீட்டருடன் இணைக்கப்படும் பொழுது எத்தணை பராமீட்டர்களை(ஓரே டேட்டா டைப்பை சேந்த) அணுப்பலாம்.
உதாரண நிரல்-3

using System;

public class SumOfValues
{
    static void Main()
    {
        Sum(1, 2, 3);
        Sum(1, 2, 3, 4, 5);
    }

    static void Sum(params int[] list)
    {
        Console.WriteLine("There are {0} items", list.Length);

        int sum = 0;
        foreach (int i in list)
        {
            sum = sum + i;
        }

        Console.WriteLine("Their sum is {0}", sum);
    }
}
வெளியீடு:

There are 3 items
Their sum is 6
There are 5 items
Their sum is 15

Pass by value மற்றும் passbyref மெத்த்ட்கள்:
பொதுவாக ஒரு மெத்த்டுக்கு அனுப்பப்படும் பராமீட்டர் passby value ஆகும், அதாவது அந்த பராமீட்டரை அந்த மெதடிற்குள் அதன் மதிப்பை மாற்றினால் அந்த மெத்தட் அழைக்கப்படுவதில் உள்ள வேரியபிளின் மதிப்பு மாறாது.
உதாரண நிரல்-4
using System;

public class SumOfValues
{
    static void Main()
    {
        int a=10;
        callbyval(a);
        Console.WriteLine(a);

    }

    static void callbyval(int a)
    {
        a = 20;
    }
}
வெளியீடு:
10.

மேலே உள்ள நிரலில் a எங்கின்ற வேரியபிள் அறிவிக்கப்பட்டு அதம் மதிப்பாக 10  இருத்த்ப்படுகின்றது. பின்பு callbyval(a) எங்கின்ற மெத்த்ட்  அழைக்கப்பட்டு a ஆனது பராமீட்டராக அனுப்பப் படுகின்றது.அங்கு அதன் மதிப்பு 20 ஆக மாற்றப்படுகின்றது எனினும் அழைக்கப்பட்ட மெத்தடில் அதன் மதிப்பு மாற வில்லை காரணம் அது value ஆக pass செய்யப்பட்டிருப்பது தான்.

உதாரண நிரல்-5

using System;

public class SumOfValues
{
    static void Main()
    {
        int a=10;
        callbyref(ref a);
        Console.WriteLine(a);

    }

    static void callbyref(ref int a)
    {
        a = 20;
    }
}
வெளியீடு:
20.
மேலே உள்ள மெத்தடில் a ஆனது ref பராமீட்டராக அனுப்பப்படுகின்றது. அந்த மெதடில் மாற்றப்படும் a –ன் மதிப்பு அழைக்கப்படும் மெதடிலும் reflect ஆகின்றது.
Out பராமீட்டர்
உதாரண நிரல்-6.
using System;

public class OutKeyword
{
    static void Main()
    {
        int val;
        SetValue(out val);

        Console.WriteLine(val);
    }

    static void SetValue(out int i)
    {
        i = 20;
    }
}
வெளியீடு:
20

பொதுவாக ஒரு மெத்தட் ஆனது ஒரே ஒரு மதிப்பைத்தாம் திருப்பின் அனுப்பும். ஒன்றுக்கும் மேற்பட்ட மதிப்புகளை திருப்பி அனுப்ப out keyword பயன்படுகின்றது. பொதுவாக out என்னும் கீவேர்டுடன் அனுப்பப்படும் பராமீட்டாரானது அந்த மெத்த்ட் திருப்பி அனுப்பும் மதிப்பைகுறிப்பிடுகின்றது.
நான் மதுரையில்,C,CPP,JAVA,DOTNET,PHP,MS-OFFICE,TALLYஆகிய பாடங்கள் நடத்தி வருகின்றேன்.
FULL DOTNET SYLLABUS
C#,VISUAL C#,VISUAL BASIC.NET,ASP.NET,ADO.NET, WPF, WCF, SQLSERVER, LINQ,MVC,RAZOR,AJAX,JAVASCRIPT, JQUERY,ANGULAR JS,GRIDVIEW.
தொடர்புக்கு:
91 9629329142


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

No comments:

Post a Comment