- Today, we’re taking what we learned yesterday about Inheritance and extending it to Abstract Classes. Because this is a very specific Object-Oriented concept, submissions are limited to the few languages that use this construct. Check out the Tutorial tab for learning materials and an instructional video!
- Given a Book class and a Solution class, write a MyBook class that does the following:
- Inherits from Book
- Has a parameterized constructor taking these 3 parameters:
- string title
- string author
- int price
- Implements the Book class’ abstract display() method so it prints these 3 lines:
- title, a space, and then the current instance’s title.
- author, a space, and then the current instance’s author.
- price, a space, and then the current instance’s price.
Note: Because these classes are being written in the same file, you must not use an access modifier (e.g.:pubilc ) when declaring MyBook or your code will not execute.
- Input Format
- You are not responsible for reading any input from stdin. The Solution class creates a Book object and calls the MyBook class constructor (passing it the necessary arguments). It then calls the display method on the Book object.
- Output Format
The void display() method should print and label the respective title, author, and price of the MyBook object’s instance (with each value on its own line) like so:
- Title: $title
- Author: $author
- Price: $price
- Note: The & is prepended to variable names to indicate they are placeholders for variables.
- Book이라는 클래스를 상속받을떄 추상클래스를 생성하는것
- 아래에서는 Book에서는 타이틀, 작가를 받는데, MyBook는 타이틀, 작가, 가격까지 받음
- 이후 display라는 메서드로 입력받은 내용을 출력해주면 됨
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 from abc import ABCMeta, abstractmethod class Book(object, metaclass=ABCMeta): def __init__(self,title,author): self.title=title self.author=author @abstractmethod def display(): pass #Write MyBook class class MyBook(Book): def __init__(self, title, author, price): self.title = title self.author = author self.price = price def display(self): print('Title:', self.title) print('Author:', self.author) print('Price:', self.price)
1 2 3 4 5 title=input() author=input() price=int(input()) new_novel=MyBook(title,author,price) new_novel.display()
1 2 3 4 5 6 7 8 해리포터 존레논 30000 Title: 해리포터 Author: 존레논 Price: 30000