पुस्तकालय प्रबंधन वर्गों की विरासत के साथ
Swift
Medium
classes
कार्य «पुस्तकालय प्रबंधन वर्गों की विरासत के साथ»
LibraryItem वर्ग बनाएं जिसमें title (String) और year (Int) फील्ड हों, और एक description() मेथड हो जो "Title: \(title), Year: \(year)" प्रारूप की स्ट्रिंग लौटाता है। फिर Book वर्ग बनाएं जो LibraryItem से विरासत प्राप्त करता है, जिसमें author (String) अतिरिक्त फील्ड हो। description() मेथड को इस प्रकार ओवरराइड करें कि वह "Book: \(title) by \(author), \(year)" प्रारूप की स्ट्रिंग लौटाए। मुख्य प्रोग्राम में 6 पंक्तियाँ पढ़ें: पहले LibraryItem ऑब्जेक्ट बनाने के लिए 3 पंक्तियाँ (शीर्षक, वर्ष), फिर Book ऑब्जेक्ट बनाने के लिए 3 पंक्तियाँ (शीर्षक, वर्ष, लेखक)। प्रत्येक ऑब्जेक्ट के लिए description() कॉल के परिणाम अलग-अलग पंक्तियों पर प्रिंट करें। यह गारंटी है कि वर्ष एक पूर्णांक है।
इनपुट प्रारूप
छह पंक्तियाँ: पहली पंक्ति — पहले ऑब्जेक्ट (LibraryItem) का शीर्षक, दूसरी — पहले ऑब्जेक्ट का वर्ष, तीसरी — दूसरे ऑब्जेक्ट (Book) का शीर्षक, चौथी — दूसरे ऑब्जेक्ट का वर्ष, पाँचवीं — दूसरे ऑब्जेक्ट का लेखक, छठी — खाली पंक्ति (उपयोग नहीं की गई)।
आउटपुट प्रारूप
दो पंक्तियाँ: पहली — LibraryItem के लिए description() का परिणाम, दूसरी — Book के लिए description() का परिणाम।
उदाहरण
उदाहरण 1
इनपुट
7
ADD Война и мир Толстой 1869
ADD Преступление и наказание Достоевский 1866
ADD Анна Каренина Толстой 1877
FIND_AUTHOR Толстой
FIND_YEAR 1870
FIND_AUTHOR Пушкин
आउटपुट
Title: Война и мир, Year: 1869
Book: Преступление и наказание by Достоевский, 1866
उदाहरण 2
इनपुट
6
add 1984 GeorgeOrwell 1949
add BraveNewWorld AldousHuxley 1932
find GeorgeOrwell
borrow 1984
borrow 1984
find GeorgeOrwell
आउटपुट
Title: add, Year: 1984
Book: BraveNewWorld by AldousHuxley, 1932
main.swift