सी# एब्सtracउदाहरण सहित कक्षा ट्यूटोरियल: निरपेक्ष मान क्या है?tracशन?
एब्स क्या है?tracC# में t क्लास?
Abstracटी क्लास इसे कभी भी इंस्टैंशिएट नहीं किया जा सकता है और इसे abs कीवर्ड द्वारा चिह्नित किया जाता है।tracटी. एक एब्सtract वर्ग में शून्य या अधिक निरपेक्ष मान हैंtracइसमें टी विधियाँ। एब्सtract क्लास एक बेस क्लास के रूप में कार्य करती है और इसे उन सबक्लासेस द्वारा इनहेरिट करने के लिए डिज़ाइन किया गया है जो या तो इसके मेथड को इम्प्लीमेंट करती हैं या उसे ओवरराइड करती हैं।
आइए एब्स के बारे में जानेंtracनीचे दिए गए उदाहरण के साथ C# में 't' क्लास की परिभाषा दी गई है। नीचे 'Animal' नामक क्लास की परिभाषा दी गई है। जब 'Animal' क्लास को परिभाषित किया जाता है, तब जानवर के बारे में कुछ भी ज्ञात नहीं होता है, चाहे वह कुत्ता हो या बिल्ली। 'description' नामक विधि केवल क्लास के लिए परिभाषित एक सामान्य विधि है।
अब जब यह पता चल जाता है कि एनिमल वास्तव में क्या होने वाला है, तो हम एक और क्लास बनाते हैं जो बेस क्लास को इनहेरिट करता है। अगर हमें पता है कि एनिमल वास्तव में डॉग है, तो हम डॉग क्लास बनाते हैं जो मुख्य बेस क्लास को इनहेरिट करता है। यहाँ मुख्य अंतर यह है कि डॉग क्लास परिभाषा को नहीं बदल सकता है Descriptएनिमल क्लास का आयन मेथड। इसे अपना खुद का C# एब्सोल्यूटेशनल कोड परिभाषित करना होगा।tracडॉग नामक विधिDescriptआयन। यह C# abs की मूल अवधारणा है।tracटी कक्षाएं।
एब्स बनाएंtracC# में t क्लास
चलिए एब्स देखते हैंtracC# में t क्लास को वास्तविक समय के उदाहरणों के साथ समझाया गया है कि हम अपने कोड को C# एब्स को शामिल करने के लिए कैसे बदल सकते हैं।tract क्लास। ध्यान दें कि हम कोड नहीं चलाएंगे, क्योंकि C# abs का उपयोग करके कुछ भी नहीं चलाया जा सकता है।tracशन क्लास।
चरण 1) पहले कदम के तौर पर, आइए एब्स बनाते हैं।tract क्लास। इस क्लास का नाम ट्यूटोरियल होगा और इसमें केवल एक मेथड होगी। सारा कोड Program.cs फ़ाइल में लिखना होगा।
Code स्पष्टीकरण: -
- हम सबसे पहले निरपेक्ष को परिभाषित करते हैंtracटी क्लास। एब्स के उपयोग पर ध्यान दें।tract कीवर्ड। इसका उपयोग यह दर्शाने के लिए किया जाता है कि क्लास एक एब्सोल्यूट क्लास है।tracटी क्लास।
- अगले चरण में, हम एक ऐसे मेथड को परिभाषित कर रहे हैं जो कुछ नहीं करता है। इस मेथड में वर्चुअल नामक कीवर्ड होना आवश्यक है। इसका अर्थ है कि चाइल्ड क्लास द्वारा इस मेथड को बदला नहीं जा सकता। यह किसी भी एब्सोल्यूट क्लास के लिए एक बुनियादी आवश्यकता है।tracटी क्लास।
चरण 2) अब हम अपना चाइल्ड क्लास जोड़ते हैं। यह कोड Program.cs फ़ाइल में जोड़ा गया है।
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
abstract class Tutorial
{
public virtual void Set()
{
}
}
class Guru99Tutorial:Tutorial
{
protected int TutorialID;
protected string TutorialName;
public void SetTutorial(int pID,string pName)
{
TutorialID=pID;
TutorialName=pName;
}
public String GetTutorial()
{
return TutorialName;
}
static void Main(string[] args)
{
Guru99Tutorial pTutor=new Guru99Tutorial();
pTutor.SetTutorial(1,".Net");
Console.WriteLine(pTutor.GetTutorial());
Console.ReadKey();
}
}
}
इस कोड में कुछ भी असाधारण नहीं है। हम बस ' नामक एक क्लास को परिभाषित करते हैं।Guru99Tutorial' जो abs को इनहेरिट करता हैtract ट्यूटोरियल क्लास। फिर हम उन्हीं तरीकों को परिभाषित करते हैं जिनका उपयोग हम पहले से करते आ रहे हैं।
नोट:
यहां हम ट्यूटोरियल क्लास में परिभाषित सेट मेथड की परिभाषा को नहीं बदल सकते। ट्यूटोरियल क्लास में हमने 'सेट' नामक एक मेथड (public virtual void Set()) परिभाषित की थी। चूंकि यह मेथड एब्सोल्यूट कोड का हिस्सा थी, इसलिए हम इसे बदल नहीं सकते।tracC# क्लास में, हमें Set मेथड को दोबारा परिभाषित करने की अनुमति नहीं है। Guru99ट्यूटोरियल क्लास।
सारांश
एक एब्सtracटी क्लास में सी तेज यह अन्य वर्गों के लिए एक खाका है, जिसे चिह्नित किया गया है abstract कीवर्ड। इसे सीधे इंस्टैंशिएट नहीं किया जा सकता है और इसमें एब्स शामिल हो सकते हैं।tracव्युत्पन्न वर्गों को जिन विधियों को लागू करना आवश्यक है।tract क्लास उपक्लासों में एक समान संरचना को लागू करती हैं, साथ ही विशिष्ट कार्यक्षमता की अनुमति भी देती हैं। इस अवधारणा का उपयोग आमतौर पर आधारभूत व्यवहारों को परिभाषित करने और इनहेरिटेंस के माध्यम से कोड में लचीलापन सुनिश्चित करने के लिए किया जाता है।




