Saturday, January 23, 2021

C# இண்டர்ஃபேஸ்

 



 சி#-ல் இன்டெர்ஃபேஸ் என்பது கிளாஸின் blue print ஆகும். இதுவும் அப்ஸ்ட்ராக்ட் கிளாஸ் போன்றது தான். ஆனால் இதில் வரும் எல்லா  மெத்தடுமே அப்ஸ்ட்ராக்ட் மெத்தட் ஆகும்..

மெத்தட் இம்ப்லிமென்டேசன் வர முடியாது.

இன்டெர்ஃபேஸிற்க்கு ஆப்ஜெக்ட் உருவாக்க முடியாது.

இது மல்டிபிள் இன்ஹெரிடென்ஸிற்க்கு பயன்படுத்த முடிகின்றது

அதாவது சி ஷார்ப்பில் ஒன்றிற்க்கு மேற்பட்ட கிளாஸை இன்ஹெரிட் செய்ய இயலாது. ஆனால் ஒரு கிளாஸ் எத்தனை இண்டெர்ஃபேசை வேண்டுமானாலும் இம்ப்ளிமெண்ட் செய்யலாம்

ஒரு கிளாஸ் ஆனது ஒரு இன்டெர்ஃபேசை இம்ப்ளிமென்ட் செய்யும் உள்ள அதில் உள்ள எல்லா அப்ஸ்ட்ராக்ட் மெத்தடுகளுக்கும் இம்ப்ளிமென்டேசனும் அதில் வர வேண்டும்.

 

சி ஷார்ப் சான்று நிரல்.

கீழே உள்ள சான்றுன் நிரலில் Drawable என்றொரு இன்டெர்ஃபேஸ் உள்ளது அதில் draw() என்ற மெத்தட் அறிவிப்பு உள்ளது.அந்த இன்டெர்ஃபேசை rectangle, circle என இரண்டு கிளாஸ்கள் தனித்தனியே இன்ஹெரிட் செய்கின்றன. அந்த இரண்டு கிளாசிலும் draw என்ற மெத்தடின் இம்ப்ளிமெண்டேசன் உள்ளது.

.

using System;  

public interface Drawable  

{  

    void draw();  

}  

public class Rectangle : Drawable  

{  

    public void draw()  

    {  

        Console.WriteLine("drawing rectangle...");  

    }  

}  

public class Circle : Drawable  

{  

    public void draw()  

    {  

        Console.WriteLine("drawing circle...");  

    }  

}  

public class TestInterface  

{  

    public static void Main()  

    {  

        Drawable d;  

        d = new Rectangle();  

        d.draw();  

        d = new Circle();  

        d.draw();  

    }  

}  

Output:

drawing ractangle...
drawing circle...
இன்டெர்ஃபேசில் உள்ள மெத்தட்கள் டிஃபால்ட் ஆகவே அப்ஸ்ட்ராக்ட்
 மற்றும்  பப்ளிக் ஆகும். என்வே அந்த மெத்தடில் public, abstract என்ற 
கீவேர்டுகளை பயன்படுத்தினால் பிழை சுட்டப்படும்.

using System;  

public interface Drawable  

{  

    public abstract void draw();//Compile Time Error  

}  

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

 

ads Udanz

No comments:

Post a Comment