तो इस परियोजना के लिए मैं रनटाइम पर कक्षा का विस्तार करने की कोशिश कर रहा हूं। मैं क्या जानना चाहता हूं, क्या यह भी संभव है? यदि हां, तो मैं यह कैसे करूँगा? क्या इन चीजों के लिए वहां पुस्तकालय हैं?रनटाइम पर विस्तार कक्षा
उत्तर
CGLib एक पुस्तकालय है जिसे आप ढूंढ रहे हैं। यह कक्षाओं को विस्तारित करने या रनटाइम में इंटरफेस को लागू करने में काफी शक्तिशाली है, इसलिए स्प्रिंग या हाइबरनेट जैसे कई लोकप्रिय ढांचे का उपयोग करते हैं।
आप हालांकि आप शायद वांछित तर्क के साथ एक उपयोगी विधि इंटरसेप्टर साथ NoOp
कॉलबैक की जगह लेंगे तरह
public Object createProxy(Class targetClass) {
Enhancer enhancer = new Enhancer();
enhancer.setSuperclass(targetClass);
enhancer.setCallback(NoOp.INSTANCE);
return enhancer.create();
}
कोड के साथ वर्ग एक्सटेंशन बना सकते हैं।
बहुत बढ़िया, धन्यवाद! – PaulBGD
उत्तर "कक्षा का विस्तार" के साथ आपका क्या मतलब है इस पर निर्भर करता है। जावा "विस्तार" का मतलब है कि एक और वर्ग घोषित करना जो पहले को बढ़ाता है (उप-वर्ग है)। इसलिए यदि आप दिए गए वर्ग का उप-वर्ग बनाना चाहते हैं, तो यह संभव है - बस उप-वर्ग का प्रतिनिधित्व करने वाली बाइट सरणी तैयार करें और उसे कक्षा लोडर को पास करें।
यदि आप किसी मौजूदा वर्ग में फ़ील्ड या विधियां जोड़ना चाहते हैं, तो यह केवल तभी संभव होगा जब इस वर्ग को लोड किया जा रहा हो, और बाइट सरणी प्रस्तुति को प्रतिस्थापित करके किया जाता है। यदि कक्षा पहले ही लोड हो चुकी है, तो आप इसे किसी भी तरह से संशोधित नहीं कर सकते हैं।
मैं बस गतिशील रूप से चुनने के लिए देख रहा था कि कौन सी कक्षा का विस्तार करना है (वर्ग के वर्गपंथ लगातार बदलते हैं)। – PaulBGD
- 1. जावा: रनटाइम पर कक्षा बढ़ाना
- 2. सी ++ कक्षा विस्तार
- 3. कक्षा विस्तार और ढांचे
- 4. PHP - विस्तार कक्षा
- 5. मैं रनटाइम पर कक्षा पर एक विशेषता कैसे पढ़ूं?
- 6. एक विस्तार कक्षा क्या है?
- 7. गतिविधि के लिए विस्तार कक्षा
- 8. सीएसएस - कक्षा वर्गों का विस्तार
- 9. Magento सार कक्षा ओवरराइड/विस्तार?
- 10. कक्षा पर विस्तार विधि - अच्छा या बुरा विचार?
- 11. रनटाइम पर कक्षा सारांश प्राप्त करना संभव है?
- 12. रनटाइम पर कक्षा कोड की गणना हैश (सी #)?
- 13. रनटाइम पर कक्षा में श्रेणियों का विवरण प्राप्त करें?
- 14. रनटाइम पर एक इंटरफ़ेस के लिए कक्षा बनाना, सी #
- 15. प्रमाणीकरण कक्षा Laravel (का विस्तार गार्ड श्रेणी)
- 16. रनटाइम पर सी # कक्षाएं बनाना
- 17. कक्षा का विस्तार आवेदन फेंकता ClassNotFoundException
- 18. रनटाइम पर गुण जोड़ें
- 19. स्वरूपप्रोवाइडर बनाम विस्तार विधि बनाम नई कक्षा
- 20. एंड्रॉइड मैपफ्रैगमेंट रनटाइम त्रुटि - कक्षा 'maps.j.k'
- 21. आवेदन कक्षा और अच्छे व्यवहारों का विस्तार
- 22. जेनेरिक विस्तार कक्षा और कार्यान्वयन इंटरफ़ेस
- 23. पायथन में कक्षा का विस्तार कैसे करें?
- 24. टाइपस्क्रिप्ट में कक्षा का विस्तार कैसे करें?
- 25. स्विफ्ट और कक्षा विस्तार का उपयोग
- 26. क्यों सी # कक्षा पुस्तकालयों में विस्तार विधियां
- 27. वीबीएनईटी - कक्षा के भीतर विस्तार कार्य?
- 28. विस्तार जेनेरिक सार कक्षा और सुपर
- 29. कक्षा और रनटाइम जानकारी कैसे प्राप्त करें?
- 30. रनटाइम
पृथ्वी पर आप ऐसा क्यों करना चाहते हैं? कृपया उपयोग के मामले को स्पष्ट करें। मुझे संदेह है कि यह संभव है। –