मेरे गृहकार्य के लिए, हमें "चार कर्मचारी" नियमित "कॉलेज कर्मचारी, तीन संकाय और सात छात्र घोषित करने" के साथ काम सौंपा गया है। उपयोगकर्ता को यह निर्दिष्ट करने के लिए संकेत दें कि किस प्रकार का डेटा दर्ज किया जाएगा (सी, एफ, एस) या छोड़ने का विकल्प (क्यू)। उपयोगकर्ता जारी रहता है, उचित व्यक्ति के लिए डेटा प्रविष्टि स्वीकार करें। यदि उपयोगकर्ता प्रत्येक व्यक्ति प्रकार के लिए निर्दिष्ट संख्या से अधिक दर्ज करता है तो त्रुटि संदेश प्रदर्शित करें। जब उपयोगकर्ता छोड़ता है, प्रदर्शित करता है स्क्रीन पर एक रिपोर्ट उचित शीर्षक के तहत व्यक्तियों के प्रत्येक समूह को सूचीबद्ध करती है। यदि उपयोगकर्ता सत्र के दौरान एक या अधिक प्रकार के व्यक्तियों के लिए डेटा दर्ज नहीं किया है तो उचित शीर्षक के तहत एक उचित संदेश प्रदर्शित करें। "कोर जावा में विरासत
Class | Extends | Variables
--------------------------------------------------------
Person | None | firstName, lastName, streetAddress, zipCode, phone
CollegeEmployee | Person | ssn, salary,deptName
Faculty | CollegeEmployee | tenure(boolean)
Student | person | GPA,major
विरासत पर Tutorials पढ़ने और विरासत विचार विमर्श का एक समूह trolling के बाद, मैं मैं यह सही कागज पर मिल गया है, लेकिन कुछ इनपुट पसंद करते हैं इससे पहले कि मैं कोड है कि काम नहीं करता है में गहरी कोहनी मिलेगा लगता है। :)
मैं
Person[x] = new Student();
(या Faculty
या CollegeEmployee
) को परिभाषित कर रहा हूँ।
Person
वर्ग एक Person
के लिए सभी इनपुट फ़ील्ड होते हैं, और उपवर्गों केवल अतिरिक्त डेटा (जैसे Student
के मामले में major
) है।
क्योंकि Student
People
प्रदान करता है और अतिरिक्त Student
में परिभाषित चर कि उदाहरण के लिए Person
की परिभाषा के साथ जोड़ दिया जाता है जब मैं new Student();
बनाने दोनों People
और Student
कक्षाओं में इनपुट फ़ील्ड मेरे लिए उपलब्ध हो जाएगा।
जब यह सरणी से डेटा खींचने के लिए समय आता है, जावा Person
की एक सरणी के रूप में यह देखता है, तो मैं तर्क जोड़ने की जरूरत है
if Person[x] instanceof Student (or `Faculty` or `CollegeEmployee`)
Person
के प्रकार के लिए उचित कार्रवाई अमल करने के लिए। मेरी समझ यह है कि instanceof
आउटपुट पक्ष पर Person
कक्षा के बारे में जावा को क्या जानता है (इस मामले में) को ओवरराइड करने के लिए अभिनय कर रहा है।
क्या मुझे इसकी कोई गंभीर समझ याद आ रही है?
यदि आपको 'exampleof' का उपयोग करने की आवश्यकता है, तो एक अच्छा मौका है कि आप कुछ गलत कर रहे हैं ... –
या असाइनमेंट बाधाएं थोड़ी दूर हैं। आप सटीक असाइनमेंट निर्देश पोस्ट करना चाहेंगे। –
व्यक्ति विरासत के लिए हमेशा एक खतरनाक उदाहरण है। जब मैं एक छात्र था, मैं एक ही समय में कॉलेज कर्मचारी था। किसी व्यक्ति की स्थिति में 'भूमिकाएं' जैसी कुछ लागू करके ऐसी स्थिति को (एकाधिक-एकाधिक) विरासत से बेहतर बनाया जा सकता है। – nansen