3.2 ООП: Наследование и Инкапсуляция
8 из 8 шагов пройдено
7 из 7 баллов  получено

1. Создайте класс `Book` с базовыми свойствами (например, название, автор) и методом `displayInfo()`, который выводит информацию о книге.
2. Расширьте класс `Book`, создав подкласс `EBook`, который добавляет свойство `format` (формат электронной книги) и переопределяет метод `displayInfo()`.

Используйте шаблон кода внизу.

Sample Input:


Sample Output:


Чтобы решить это задание откройте

Напишите программу. Тестируется через stdin → stdout

Time Limit: 15 секунд
Memory Limit: 256 MB
Запустить код

Будьте вежливы и соблюдайте наши принципы сообщества. Поделитесь своим решением и посмотрите, как задачу решали другие.
Оставить решение

Done

Верное решение #
JavaScript
// Давайте начнем с создания базового класса Book, который будет содержать свойства, такие как название и автор, а также метод displayInfo(), выводящий информацию о книге:

class Book {
  constructor(title, author) {
    // add code here
    this.title = title;
    this.author = author;
  }

  displayInfo() {
    console.log(`Название: ${this.title}, Автор: ${this.author}`);
  }
}

// Теперь расширим класс Book, создав подкласс EBook, который добавляет свойство format (формат электронной книги). Мы также переопределим метод displayInfo() для включения информации о формате:

class EBook extends Book {
  constructor(title, author, format) {
   // add code here
      super(title, author); // Вызов конструктора базового класса
      this.format = format;
  }

  displayInfo() {
    // Вызов метода displayInfo базового класса и добавление информации о формате
    // add code here
    console.log(`Название: ${this.title}, Автор: ${this.author}`);
    console.log(`Формат: ${this.format}`);
  }
}

// Теперь давайте создадим экземпляры обоих классов и вызовем их методы displayInfo() для демонстрации:

const myBook = new Book("Война и мир", "Лев Толстой");
myBook.displayInfo(); // Выведет: Название: Война и мир, Автор: Лев Толстой

const myEBook = new EBook("Гарри Поттер и Философский камень", "Дж. К. Роулинг", "PDF");
myEBook.displayInfo(); // Выведет: Название: Гарри Поттер и Философский камень, Автор: Дж. К. Роулинг
                       // Формат: PDF