तो मैं एक वर्ग दूसरे दिन बनाने और ग्रहण की विधि का इस्तेमाल किया बराबरी विधि बनाने के लिए जब मुझे एहसास हुआ कि यह निम्नलिखित काम कर कोड जनरेट किया गया था:जावा निजी फील्ड दृश्यता
class Test {
private int privateInt;
[...]
public boolean equals(Object obj) {
[...]
Test t = (Test) obj;
if (t.privateInt == privateInt) {
[...]
}
}
t.privateInt .. ???? यह निजी होने का अनुमान है! तो मुझे लगता है कि निजी, संरक्षित, पैकेज संरक्षित और सार्वजनिक के अलावा एक और क्षेत्र दृश्यता है।
तो यहां क्या हो रहा है? इसे कैसे कहा जाता है? कोई इसका उपयोग कहां करेगा? क्या यह ब्रेक encapsulation नहीं है? क्या होगा यदि कक्षा में म्यूटेटर नहीं था और मैंने इसे बदल दिया? क्या यह सी ++ के साथ भी होता है? क्या यह एक ओओ मुहावरे है? यदि नहीं, तो जावा ने ऐसा क्यों किया?
आम तौर पर, मुझे इसके बारे में जानकारी कहां मिल सकती है?
धन्यवाद।
ठीक है ... अब मैं समझता हूं ... लेकिन क्यों? जावा ने ऐसा क्यों किया? क्या आप कुछ वास्तविक जीवन उदाहरणों के बारे में सोच सकते हैं। मुझे लगता है कि इसे बराबर में क्यों काम करना चाहिए .. लेकिन एक बेहतर उदाहरण होना चाहिए .. – pek
एकमात्र अन्य उदाहरण बराबर के समान होंगे जहां आपको अपनी कक्षा का एक और उदाहरण तर्क के रूप में दिया जाता है। जावा ने ऐसा क्यों किया, यह ओओ भाषाओं में काफी मानक है - सी ++ वैसे ही काम करता है। C++ == ओवरलोडिंग: http://artis.imag.fr/~Xavier.Decoret/resources/C++/operator==.html –
Soooo ... अपनी सुंदर बेकार सामान्य ज्ञान? – pek