यूनिटी सी# इंटरफ़ेस शुरुआती गाइड
C# में एक इंटरफ़ेस एक अनुबंध है जो विधियों, गुणों और घटनाओं के एक सेट को परिभाषित करता है जिन्हें एक वर्ग को लागू करना होगा। यह कई वर्गों में कार्यक्षमता लागू करने के लिए एक ब्लूप्रिंट के रूप में कार्य करता है। इंटरफ़ेस बहुरूपता प्राप्त करने का एक तरीका प्रदान करते हैं, जिससे विभिन्न वर्गों को सामान्य व्यवहार साझा करने की अनुमति मिलती है।
Unity सी# इंटरफ़ेस
Unity में इंटरफेस का उपयोग करने के लिए, नीचे दिए गए चरणों का पालन करें:
- एक नई स्क्रिप्ट बनाएं और इसे कुछ भी नाम दें (मेरे मामले में मैं इसे InterfaceContainer नाम दूंगा)
- इसके अंदर सब कुछ हटा दें और नीचे दिए गए कोड को पेस्ट करें:
public interface IEntity
{
void Initialize(); //Function without any arguments
float health { get; set; } //A variable
void ApplyDamage(float points); //Function with one argument
}
इंटरफ़ेस को Ientity कहा जाता है (नोट: प्रारंभ में बड़ा अक्षर i लिखना आवश्यक नहीं है, लेकिन सुविधा के लिए, अपने सभी इंटरफ़ेस को नाम 'I' रखें। प्रारंभ करें, इस तरह से आपको पता चल जाएगा कि कक्षा कब इंटरफ़ेस का उपयोग करती है)।
C# स्क्रिप्ट में इंटरफ़ेस का उपयोग करने के लिए, नीचे दिए गए चरणों का पालन करें:
- एक नई स्क्रिप्ट बनाएं और इसे कुछ भी नाम दें (मेरे मामले में मैं इसे EntityScript नाम दूंगा)
- मोनोबिहेवियर के बाद इंटरफ़ेस नाम जोड़ें, जो इस मामले में IEntity है (अल्पविराम द्वारा अलग किया गया)
public class EntityScript : MonoBehaviour, IEntity
आप देखेंगे कि स्क्रिप्ट एक त्रुटि देती है, ऐसा इसलिए है क्योंकि इंटरफ़ेस विधियाँ लागू नहीं की गई हैं। तो आइए IEntity विधियों को लागू करें:
using UnityEngine;
public class EntityScript : MonoBehaviour, IEntity
{
public float health { get; set; }
public void Initialize()
{
health = 100;
}
public void ApplyDamage(float points)
{
health -= points;
}
}
इंटरफ़ेस विधियाँ अब लागू की गई हैं।
इंटरफ़ेस प्रोग्रामिंग वर्कफ़्लो को कैसे सरल बनाते हैं?
C# इंटरफ़ेस का मुख्य लाभ यह है कि उनका उपयोग एकाधिक classes द्वारा किया जा सकता है, इसलिए प्रत्येक स्क्रिप्ट के लिए GetComponent को कॉल करने के बजाय, आप इंटरफ़ेस नाम का उपयोग करके सभी स्क्रिप्ट संदर्भ प्राप्त कर सकते हैं।
जब आपको एक से अधिक स्क्रिप्ट में समान विधियों को लागू करने की आवश्यकता हो, या जब आपको एक ही संदर्भ में किसी अज्ञात वर्ग को संदर्भित करने की आवश्यकता हो तो C# इंटरफ़ेस का उपयोग करें।
नीचे दिए गए उदाहरण की जाँच करें:
//Get the script that uses IEntity interface
IEntity interfaceEntity = gameObject.GetComponent<IEntity>();
interfaceEntity.Initialize(); //Initializing the entity
interfaceEntity.ApplyDamage(10); //Applying the damage
interfaceEntity.health += 10; //Healing the entity
उपरोक्त स्क्रिप्ट को IEntity इंटरफ़ेस के साथ एक घटक मिलता है, फिर इसके तरीकों को कॉल करता है।
बक्शीश
इंटरफ़ेस कस्टम डेटा प्रकार भी स्वीकार कर सकते हैं, उदाहरण के लिए:
public interface IHealable<T>
{
void Heal(T type);
}
क्लास में इंटरफ़ेस लागू करते समय डेटा प्रकार प्रदान किया जाता है (यह एक मानक प्रकार हो सकता है जैसे फ्लोट या int, या अधिक जटिल प्रकार जैसे क्लास या कोई अन्य भी इंटरफेस):
using UnityEngine;
public class EntityScript : MonoBehaviour, IEntity, IHealable<int>
{
public float health { get; set; }
public void Initialize()
{
//health = 100;
Heal(100);
}
public void ApplyDamage(float points)
{
health -= points;
}
public void Heal(int points)
{
health = points;
}
}