मैं जावा में फैक्टरी पैटर्न को लागू करने की कोशिश कर रहा हूं। मेरे पास आकार वाला एक वर्ग है जिसे मंडल और त्रिकोण विस्तारित करता है। समस्या यह है कि आकार कन्स्ट्रक्टर को केवल 2 पैरामीटर मिलते हैं जबकि सर्कल को 3 पैरामीटर मिलते हैं और इसलिए त्रिकोण है (जो मैं कोड अनुभाग में नहीं दिखाऊंगा क्योंकि सर्किल के समान है)। बेहतर प्रदर्शन करने के लिए:जावा में फैक्टरी जब कंक्रीट ऑब्जेक्ट्स अलग कन्स्ट्रक्टर पैरामीटर लेते हैं
private interface ShapeFactory{
public Shape create(int x, int y);
}
private class CircleFactory implements ShapeFactory{
public Shape create(float radius, int x, int y){ //error
return new Circle(radius, x,y);
}
}
कोई भी विचार कैसे इस समस्या को दूर करने के लिए? मुझे कारखाने के अंदर उपयोगकर्ता से इनपुट प्राप्त नहीं करना चाहिए (बाहर से प्राप्त किया जाना चाहिए)।
धन्यवाद!
आप एक कारखाने का उपयोग क्यों करना चाहते हैं? आप क्या हासिल करने का प्रयास कर रहे हैं? – miniBill
सोचा कि यह एक मीठा समाधान नहीं है, आप कंक्रीट आकार विशिष्ट पैरामीटर के अतिरिक्त मानचित्र पास कर सकते हैं। इसके अलावा: क्या सृजन पर त्रिज्या प्रदान करना आवश्यक है? आप सृजन पर कुछ डिफ़ॉल्ट त्रिज्या सेट कर सकते हैं और फिर आकार बनाने के बाद आवश्यक त्रिज्या सेट कर सकते हैं। – nidu
ठीक है, मैंने इस विकल्प के बारे में सोचा, लेकिन यह निर्माता के विचार के विपरीत है ... – Jjang