कुछ खोज के बाद मुझे कॉपी कन्स्ट्रक्टर और विरासत के संबंध में मेरे प्रश्न का कोई अच्छा जवाब नहीं मिला। मेरे पास दो वर्ग हैं: उपयोगकर्ता और प्रशिक्षु। प्रशिक्षु उपयोगकर्ता से विरासत में मिलता है और दो स्ट्रिंग पैरामीटर ट्रेनी में जोड़े जाते हैं। अब मैं उपयोगकर्ता की प्रतिलिपि बनाने में कामयाब रहा हूं लेकिन मैं प्रशिक्षु की प्रतिलिपि निर्माता से संतुष्ट नहीं हूं।जावा कॉपी कन्स्ट्रक्टर और विरासत
public User (User clone) {
this(clone.getId(),
clone.getCivilite(),
clone.getNom(),
clone.getPrenom(),
clone.getEmail(),
clone.getLogin(),
clone.getTel(),
clone.getPortable(),
clone.getInscription(),
clone.getPw()
);
}
मैं अपने प्रशिक्षु प्रति निर्माता में सुपर का उपयोग करने की कोशिश की: उपयोगकर्ता प्रतिलिपि निर्माता के कोड इस तरह है
public Trainee (Trainee clone) {
super (clone);
this (clone.getOsia(), clone.getDateNaiss());
}
लेकिन यह काम नहीं किया और मैं एक कोड करने के लिए मजबूर किया गया था प्रतिलिपि निर्माता के पूर्ण संस्करण:
public Trainee (Trainee clone) {
this(clone.getId(),
clone.getCivilite(),
clone.getNom(),
clone.getPrenom(),
clone.getEmail(),
clone.getLogin(),
clone.getTel(),
clone.getPortable(),
clone.getInscription(),
clone.getPw(),
clone.getOsia(),
clone.getDateNaiss()
);
}
मैं इस तरह अपने नए उदाहरण कास्ट करने के लिए है मेरी मुख्य के निर्माण की वजह से
:
User train = new Trainee();
User train2 = new Trainee((Trainee) train);
तो मेरा सवाल है: क्या ऐसा करने का कोई क्लीनर तरीका है? क्या मैं सुपर का उपयोग नहीं कर सकता?
आपके उत्तरों और सहायता के लिए अग्रिम धन्यवाद।
जब आप 'सुपर (क्लोन) का इस्तेमाल किया क्या काम नहीं किया' – Xymostech