The next problem is based on abstract classes. Abstract classes are class declared as abstract which abstract or defined methods.Abstract classes cannot be instantiated but that can be subclassed. According to oracle documentation: When an abstract class is subclassed, the subclass usually provides implementations for all of the abstract methods in its parent class. However, if it does not, then the subclass must also be declared abstract.
The objective of this day is to make us aware of the basic implementation of the abstract classes:
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 parameters:
- Implements the Book class’ abstract display() method so it prints these 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
The Alchemist Paulo Coelho 248
Title: The Alchemist Author: Paulo Coelho Price: 248
So here the Solution you have landed here for..
Abstract Classes HackerRank solution in Python :
from abc import ABCMeta, abstractmethod class Book(object, metaclass=ABCMeta): def __init__(self, title, author): self.title = title self.author = author @abstractmethod def display(self): pass class MyBook(Book): def __init__(self, title, author, price): super().__init__(title, author) self.price = price def display(self): print("Title: " + self.title + "\nAuthor: " + self.author + "\nPrice: " + str(self.price)) title = input() author = input() price = int(input()) new_novel = MyBook(title, author, price) new_novel.display()