एकता संहिता में वंशानुक्रम और बहुरूपता को लागू करना
कोड में विरासत और बहुरूपता को लागू करने से आप मौजूदा कक्षाओं के आधार पर अधिक विशिष्ट कक्षाएं बना सकते हैं, और विभिन्न वर्गों की वस्तुओं को एक सामान्य आधार वर्ग की वस्तुओं के रूप में मान सकते हैं। यह कोड के पुन: उपयोग, लचीलेपन और विस्तारशीलता को बढ़ावा देता है। यहां Unity में वंशानुक्रम और बहुरूपता को लागू करने का एक उदाहरण दिया गया है:
विरासत
वंशानुक्रम मौजूदा वर्ग (पैरेंट या बेस क्लास) के आधार पर एक नया वर्ग (बच्चा या व्युत्पन्न वर्ग) बनाकर प्राप्त किया जाता है। चाइल्ड क्लास को मूल वर्ग की विशेषताएँ और विधियाँ विरासत में मिलती हैं और वह अपनी अनूठी विशेषताएँ और विधियाँ जोड़ सकता है या मौजूदा को संशोधित कर सकता है। यहाँ एक उदाहरण है:
// Base class
public class Shape
{
public virtual void Draw()
{
Debug.Log("Drawing a shape...");
}
}
// Derived class
public class Circle : Shape
{
public override void Draw()
{
Debug.Log("Drawing a circle...");
}
}
इस उदाहरण में, वर्ग 'Shape' आधार वर्ग है, और वर्ग 'Circle' इससे लिया गया है। विधि 'Draw()' को दोनों वर्गों में परिभाषित किया गया है, लेकिन वर्ग 'Circle' अपना स्वयं का कार्यान्वयन प्रदान करने के लिए विधि को ओवरराइड करता है। यह आपको कक्षा 'Shape' में परिभाषित साझा व्यवहार को बनाए रखते हुए कक्षा 'Circle' के व्यवहार को विशेषज्ञ बनाने की अनुमति देता है।
बहुरूपता
बहुरूपता विभिन्न वर्गों की वस्तुओं को एक सामान्य आधार वर्ग के ऑब्जेक्ट्स के रूप में मानने की अनुमति देता है, लचीलापन प्रदान करता है और कोड की अनुमति देता है जो सामान्य रूप से वस्तुओं पर काम करता है। यहाँ एक उदाहरण है:
void DrawShapes(Shape[] shapes)
{
foreach (Shape shape in shapes)
{
shape.Draw();
}
}
// Usage
Shape[] shapes = new Shape[] { new Circle(), new Shape() };
DrawShapes(shapes);
इस उदाहरण में, विधि 'DrawShapes()' ऑब्जेक्ट की एक सरणी 'Shape' स्वीकार करती है। यह सरणी पर पुनरावृति करता है और प्रत्येक ऑब्जेक्ट पर विधि 'Draw()' को कॉल करता है। सरणी में एक ऑब्जेक्ट 'Circle' और एक बेस ऑब्जेक्ट 'Shape' शामिल है। हालाँकि, चूंकि वर्ग 'Circle' विधि 'Draw()' को ओवरराइड करता है, प्रत्येक ऑब्जेक्ट के लिए उचित कार्यान्वयन रनटाइम पर उसके वास्तविक प्रकार के आधार पर लागू किया जाता है। यह क्रिया में बहुरूपता को प्रदर्शित करता है।
निष्कर्ष
अपने Unity कोड में वंशानुक्रम और बहुरूपता का लाभ उठाकर, आप मौजूदा कक्षाओं के आधार पर विशेष कक्षाएं बना सकते हैं, आधार कक्षाओं में साझा व्यवहार को परिभाषित कर सकते हैं, और कोड लिख सकते हैं जो वस्तुओं पर सामान्य रूप से काम करता है, लचीलापन प्रदान करता है और कोड के पुन: उपयोग को बढ़ावा देता है।.