यह मेरा होमवर्क प्रश्न है: निम्नलिखित वर्गों में से कौन सा कड़ाई से Encapsulated नहीं है?कसकर Encapsulated कक्षा
class A
{
private int x;
}
class B
{
private int x;
public void setX(int x)
{
this.x=x;
}
public int getX()
{
return x;
}
}
class C
{
private int x;
private void setX(int x)
{
this.x=x;
}
private int getX()
{
return x;
}
}
मैंने कुछ समय कोडरंच पर खोज करने में बिताया लेकिन आवश्यक सामान प्राप्त करने में सक्षम नहीं था। क्या कोई मेरी मदद कर सकता हैं?
मुझे लगता है कि कक्षा सी कसकर encapsulated नहीं है, क्योंकि विधियां निजी हैं। और कक्षा ए के बारे में मुझे क्या लगता है कि यह केवल encapsulated नहीं है। चूंकि encapsulation की मूल परिभाषा कहती है कि "आपको अपने सदस्यों को छिपाना होगा और कक्षा के उपयोगकर्ता विधियों को प्रदान करना होगा जो आपके इच्छित तरीके से व्यवहार करते हैं।" अब कक्षा ए में कोई एक्सेसर-म्यूटेटर विधियां नहीं हैं। तो ए को encapsulated माना नहीं जाना चाहिए। मुझे यकीन नहीं है लेकिन। अगर मैं गलत हूं कृपया मुझे सही।
यह शायद समझाया नहीं किया जाएगा के रूप में परिभाषित किया गया है शामिल आपकी मदद नहीं करेगा, लेकिन प्रश्न एक बेतुका अमूर्त तरीके से (संभवतः आपके प्रशिक्षकों द्वारा) उत्पन्न किया गया है। एक वर्ग कसकर encapsulated है जब यह केवल अपने ग्राहकों की जरूरत इंटरफ़ेस का खुलासा करता है। किसी दिए गए वर्ग के उद्देश्य को जानने के बिना अर्थपूर्ण रूप से कहना असंभव है। – millimoose