यहां कहानी है। मैंने एक इंटरफ़ेस बनाया, IVehicle
। मैंने अपनी कक्षा, Vehicle.cs
में इंटरफ़ेस को स्पष्ट रूप से कार्यान्वित किया।मैं कक्षा के भीतर विधियों को क्यों नहीं बुला सकता जो स्पष्ट रूप से एक इंटरफ़ेस लागू करता है?
class Vehicle: IVehicle
{
public int IVehicle.getWheel()
{
return wheel;
}
public void printWheel()
{
Console.WriteLine(getWheel());
}
}
सूचना है कि getWheel()
स्पष्ट रूप से कार्यान्वित किया जाता है:
Interface IVehicle
{
int getWheel();
}
यहाँ मेरी कक्षा है:
यहाँ मेरी इंटरफेस है। अब, जब मैं पर कॉल करता हूं, तो मेरे वाहन वर्ग के भीतर विधि, मुझे एक त्रुटि प्राप्त होती है जो वर्तमान संदर्भ में getWheel()
मौजूद नहीं है। क्या कोई मुझे समझने में मदद कर सकता है कि मैं क्या गलत कर रहा हूं?
एक जावा व्यक्ति के रूप में उपयोग करते हुए के रूप में एक सूचक बना सकते हैं, मैं सोच रहा हूँ क्यों इस गड़बड़ की बात मौजूद है? उपर्युक्त क्यों मौजूद होना चाहते हैं, इसका लाभ क्या होता है? –
एक स्पष्ट रूप से कार्यान्वित सदस्य पर दृश्यता संशोधक निर्दिष्ट करना एक वाक्यविन्यास त्रुटि है। एक बार आपकी ऑब्जेक्ट को आपके इंटरफ़ेस प्रकार पर डाला जाने के बाद सदस्य हमेशा पहुंच योग्य होता है। – Trillian
@ एमपी यदि आप एक आम सदस्य के साथ कई इंटरफेस लागू कर रहे हैं, तो यह आपको प्रति इंटरफेस की विभिन्न परिभाषाओं की आपूर्ति करने की अनुमति देता है। इसके अलावा यह इंटेलिजेंस को साफ करने के लिए जोड़ता है, क्योंकि स्पष्ट सदस्य तब तक दिखाई नहीं दे रहे हैं जब तक आप उचित इंटरफ़ेस पर नहीं आते। –