அப்ஸ்ட்ராக்ட் கிளாஸ் என்பது சி ஷார்ப்பில் அப்ஸ்ட்ராக்சனை அடைவதற்கு பயன்படுகின்றது. அப்ஸ்ட்ராக்ட்சன் என்பது தேவையில்லாத இன்டெர்னல் தகவல்களை மறைத்து விட்டு அதன் ஃபங்க்சனாலிட்டியை மட்டும் காண்பிப்பதாகும்.
சி ஷார்ப்பில் அப்ஸ்ட்ராக்சனை இரண்டு முறையில் அடையலாம்.
- Abstract class
- Interface
அப்ஸ்ட்ராக்ட் கிளாஸ் மற்றும் இன்டெர்ஃபேஸ் இரண்டுமே அப்ஸ்ட்ராக்ட் மெத்தடுகளை கொண்டிருக்கலாம்.
அப்ஸ்ட்ராக்ட்மெத்தட்
Abstract என அறிவிக்கப்பட்டு அதன் இம்ப்ளிமெண்டேசன் இல்லாத மெத்தடுகளை அப்ஸ்ட்ராக்ட் மெத்தட் என அழைக்கப்படுகின்றது. அதன் இம்ப்ளிமெண்டேசன் அந்த மெத்தடு உள்ள கிளாஸை இன்ஹெரிட் செய்யும் கிளாஸில் எழுதலாம்.
public abstract void draw();
அப்ஸ்ட்ராக்ட் மெத்தட் என்பது சி #- ல் இன்டெர்னல் ஆக விர்ச்சுவல் மெத்தட் என எடுத்துக் கொள்ளப்படுகின்றது. என்வே டெரைவ்டு கிளாஸில் ஓவர் ரைட் செய்ய இயலுகின்ற்து.
அப்ஸ்ட்ராக்ட் மெத்தட் அறிவிப்பில் static மற்றும் abstract மாடிஃபையர்களை பயன்படுத்த இயலாது
அப்ஸ்ட்ராக்ட் மெத்தடுகள் அப்ஸ்ட்ராக்ட் கிளாஸினுள் மட்டுமே எழுத முடியும்.
C# அப்ஸ்ட்ராக்ட் கிளாஸ்
சி#-ல் abstract என அறிவிக்கப்படும் கிளாஸ்கள் அப்ஸ்ட்ராக்ட் கிளாஸ் என அழைக்கப்படுகின்றது. இந்த கிளாஸிற்கு ஆப்ஜெக்ட் உருவாக்க முடியாது. இதை இன்ஹெரிட் செய்து அந்த டெரிவ்டு கிளாஸிற்கு ஆப்ஜெக்ட் உருவாக்கலாம். டெரிவ்டு கிளாஸில் அப்ஸ்ட்ராக்ட் மெத்தடுகளுக்கு இம்ப்ளிமென்டேசன் எழுதலாம்.
கீழே உள்ள சான்று நிரலில் draw() என்றொரு அப்ஸ்ட்ராக்ட் மெத்தட் shape என்ற அப்ஸ்ட்ராக்ட் கிளாஸில் அறிவிக்கப்பட்டுள்ளது.அதன் டெரிவ்டு கிளாஸ் ஆன Rectangle, Circle ஆகிய இரு கிளாஸ்களிலும் அதன் இம்ப்லிமென்டேசன் உள்ளது
using System;
public abstract class Shape
{
public abstract void draw();
}
public class Rectangle : Shape
{
public override void draw()
{
Console.WriteLine("drawing rectangle...");
}
}
public class Circle : Shape
{
public override void draw()
{
Console.WriteLine("drawing circle...");
}
}
public class TestAbstract
{
public static void Main()
{
Shape s;
s = new Rectangle();
s.draw();
s = new Circle();
s.draw();
}
}
வெளியீடு:
drawing ractangle...
drawing circle...
நன்றி.
முத்து கார்த்திகேயன்,மதுரை
No comments:
Post a Comment