Практические задания - Урок 15: Наследование
Инструкция: Решите все задания по порядку. Создайте отдельный файл .dart для каждой задачи или решите все в одном файле, разделяя задачи комментариями.
Задача № 1: Наследование и добавление функциональности
Создайте базовый класс Phone со следующими свойствами и методами:
- Поля:
brand(бренд телефона);model(модель телефона);batteryLevel(заряд батареи в процентах).
- Методы:
chargeBattery(int amount)— увеличивает уровень заряда, но не более 100%.useBattery(int amount)— уменьшает заряд, но не менее 0%.
Создайте подкласс Smartphone, который наследует класс Phone и добавляет:
- Поля:
os(операционная система телефона);appsInstalled(список приложений).
- Методы:
installApp(String appName)— добавляет приложение в список.useApp(String appName, int batteryCost)— проверяет, установлено ли приложение, и если да, уменьшает заряд батареи.
Задание: Создайте объект Smartphone, установите начальные значения, установите несколько приложений, используйте одно из них, а затем выведите всю информацию о смартфоне.
Задача № 2: Базовый класс и инкапсуляция
Создайте класс Phone, который содержит:
- Приватные поля:
_brand(бренд телефона);_model(модель телефона);_batteryLevel(уровень заряда в процентах).
- Геттеры и сеттеры:
- Запретите устанавливать значение заряда ниже 0% и выше 100%.
- Сделайте метод
displayInfo, который возвращает информацию о телефоне в виде строки: "Brand: {бренд}, Model: {модель}, Battery: {заряд}%".
Задание: Создайте объект класса Phone, установите значения через сеттеры и выведите информацию с помощью метода displayInfo.