नीचे मेरे पास एक व्यक्ति इंटरफ़ेस, एक कार्यान्वयन वर्ग और एक ड्राइवर वर्ग है जो व्यक्ति को नाम से प्रारंभ करता है और इसे फिर से आउटपुट करता है।इंटरफ़ेस बनाम कंक्रीट क्लास
Person person = new PersonImpl();
बजाय
PersonImpl person = new PersonImpl();
के इंटरफेस कार्यान्वयन छुपा जा करने के लिए माना जाता है का उपयोग कर के लाभ क्या है? क्या यह इंटरफेस का उपयोग करने का सही तरीका है?
public class Driver {
public static void main(String [] args)
{
Person person = new PersonImpl();
person.setName("test name");
System.out.println("Name is "+person.getName());
}
}
public interface Person {
public void setName(String name);
public String getName();
}
public class PersonImpl implements Person{
private String name;
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
हाँ यह अच्छा काम है। –
धन्यवाद लेकिन मुझे लगता है कि मैं इसे पूरी तरह से समझ नहीं पा रहा हूं, शायद मुझे बड़ी तस्वीर नहीं दिखाई दे रही है। क्यों न केवल व्यक्ति - व्यक्ति व्यक्ति = नया व्यक्ति Iplpl(); person.setName ("परीक्षण नाम"); System.out.println ("नाम है" + person.getName()); – user701254
बेशक, यदि आप उम्मीद करते हैं कि केवल एक ही प्रकार का व्यक्ति वें है आपको बिल्कुल इंटरफ़ेस की आवश्यकता नहीं है; आप सीधे 'व्यक्ति' वर्ग को कार्यान्वित कर सकते हैं। यह कोड के लिए विशेष रूप से सच है जो * समान उपप्रणाली या मॉड्यूल * में है। आम तौर पर अन्य पैकेजों से दिखाई देने वाली कक्षाओं के लिए एक इंटरफेस को परिभाषित करने की सलाह दी जाती है। –