Hackerrank “30 Days of Code” Çözümleri – Day 13: Abstract Classes

Hackerrank’in 30 Days of Code içerisinde bulunan “Day 13: Abstract Classes” sorusunun açıklaması ve çözümü. Bu soruda abstract sınıflara ve base anahtar sözcüğüne göz attık.

► Hackerrank 30 Days of Code Çözümleri – Day 13: Abstract Classes: https://www.hackerrank.com/challenges/30-abstract-classes/problem

► Problem açıklaması:

Objective

Today, we will extend what we learned yesterday about Inheritance 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.

Task

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.: public) 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

Title: $title

Author: $author

Price: $price

Note: The $ is prepended to variable names to indicate they are placeholders for variables.

Sample Input

The following input from stdin is handled by the locked stub code in your editor:

The Alchemist

Paulo Coelho

248

Sample Output

The following output is printed by your display() method:

Title: The Alchemist

Author: Paulo Coelho

Price: 248

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.