Интерфейсы

Последнее обновление: 08.04.2023
Упражнение 1

Класс Book представляет книгу:

class Book{
    String title;		// название книги
    Book(this.title);
    void read() => print("Читаем книгу \"$title\"");
}

Класс File представляет электронный файл:

class File{
    int size = 0;   // размер файла
    void download() => print("Загружаем файл");
}

Определите класс электронной книги Ebook, который использует функционал обоих этих классов.

Решение
class Book{
    String title;
    Book(this.title);
    void read() => print("Читаем книгу \"$title\"");
}
class File{
    int size = 0;   // размер файла
    void download() => print("Загружаем файл");
}
class Ebook extends Book implements File{
    @override   
    int size;
    Ebook(super.title, this.size);
    @override
    void download() => print("Загружаем книгу \"$title\" размером $size Мб");

}
void main (){

    Ebook ebook = Ebook("Dart и Flutter за 1 день.", 24);
    ebook.read();
    ebook.download();
}

Консольный вывод:

Читаем книгу "Dart и Flutter за 1 день."
Загружаем книгу "Dart и Flutter за 1 день." размером 24 Мб
Дополнительные материалы
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850