वाहन प्रबंधन प्रणाली जिसमें वंशानुक्रम और बहुरूपता है

Java Hard classes

कार्य «वाहन प्रबंधन प्रणाली जिसमें वंशानुक्रम और बहुरूपता है»

वाहनों के बेड़े के प्रबंधन के लिए एक वर्ग प्रणाली विकसित करें। Vehicle नामक एक अमूर्त वर्ग बनाएं जिसमें फ़ील्ड हों: id (int), brand (String), model (String), year (int) और एक अमूर्त विधि getInfo() हो। इससे Car (अतिरिक्त फ़ील्ड: int doors) और Motorcycle (अतिरिक्त फ़ील्ड: boolean hasSidecar) वर्ग प्राप्त करें। Fleet वर्ग लागू करें जिसमें Vehicle की एक सूची और विधियाँ हों: addVehicle(Vehicle v), removeVehicle(int id), getVehicleInfo(int id) (वाहन के बारे में जानकारी इस प्रारूप में लौटाता है: Car के लिए "id brand model year doors" और Motorcycle के लिए "id brand model year sidecar", जहाँ sidecar को "yes" या "no" के रूप में प्रदर्शित किया जाता है), listAllVehicles() (सभी वाहनों की जानकारी प्रत्येक को एक नई पंक्ति में प्रदर्शित करता है)। main में stdin से कमांड की संख्या N पढ़ें, फिर N कमांड: "ADD id brand model year type [param]", "REMOVE id", "INFO id", "LIST"। ADD के लिए type "Car" (तब param = doors) या "Motorcycle" (param = "yes"/"no") हो सकता है। यह गारंटी है कि id अद्वितीय हैं। INFO और LIST कमांड के परिणाम प्रदर्शित करें।

इनपुट प्रारूप

पहली पंक्ति पर एक पूर्णांक N (1 <= N <= 100)। फिर N पंक्तियाँ कमांड: ADD id brand model year type param, REMOVE id, INFO id, LIST.

आउटपुट प्रारूप

प्रत्येक INFO कमांड के लिए वाहन की जानकारी वाली एक पंक्ति प्रदर्शित करें। LIST कमांड के लिए सभी वाहनों की जानकारी जोड़ने के क्रम में प्रदर्शित करें, प्रति वाहन एक पंक्ति। यदि INFO या REMOVE के लिए दिए गए id वाला वाहन नहीं मिलता है, तो "Not found" प्रदर्शित करें।

उदाहरण

उदाहरण 1

इनपुट
6 ADD 1 Toyota Camry 2015 Car 4 ADD 2 Harley Davidson 2020 Motorcycle yes INFO 1 LIST REMOVE 1 LIST
आउटपुट
1 Toyota Camry 2015 4 1 Toyota Camry 2015 4 2 Harley Davidson 2020 yes 2 Harley Davidson 2020 yes

उदाहरण 2

इनपुट
4 ADD 10 BMW X5 2022 Car 5 INFO 10 INFO 20 LIST
आउटपुट
10 BMW X5 2022 5 Not found 10 BMW X5 2022 5

उदाहरण 3

इनपुट
5 1 2 3 4 5
आउटपुट
main.java