РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗dtTsTmClL5 118 of 128 menu

Задачи на ООП в Dart. Часть 5

Пусть класс Employee наследует от класса User из данного урока.

Переопределите в классе Employee конструктор родителя, добавив в него параметр с возрастом и зарплатой.

Сделайте геттеры для возраста и зарплаты.

Дан следующий код:

class User { int _age = 0; void setAge(int age) { if (age >= 0) _age = age; else print("need age more 0"); } } class Employee extends User { @override void setAge(int age) { if (age <= 120) super.setAge(age); else print("need age less 120"); } }

В классе Employee исправьте упростите сеттер возраста, использовав оригинальный метод родителя.

Дан следующий класс-родитель:

class User { String? _name; String? _surn; void setName(String name) { _name = name; } String? getName() => _name; void setSurn(String surn) { _surn = surn; } String? getSurn() => _surn; }

Сделайте класс Employee, который будет наследовать от этого родителя.

Создайте объект класса Employee и вызовите унаследованные сеттеры и геттеры.

В классе Employee сделайте следующий метод:

class User { String? name; String? surn; bool _notEmpty(String str) => str.isNotEmpty; void setName(String name) { if (_notEmpty(name)) this.name = name; } String? getName() => name; } class Employee extends User { void setSurn(String surn) { if (_notEmpty(surn)) this.surn = surn; } String? getSurn() => surn; }

Убедитесь, что код метода приведет к ошибке.

Дан следующий код:

class User { String? _name; void setName(String name) { _name = name; } String? getName() => _name; } class Employee extends User { @override void setName(String name) { if (name.isNotEmpty) _name = name; // ошибка: private _name } }

в классе потомка переопределяется метод родителя. Исправьте проблемы в этом коде:.

Попробуйте в классе Employee воспользоваться приватным методом родителя.

Дан следующий код:

class User { String? _name; void setName(String name) { _name = name; } String? getName() => _name; } class Employee extends User { @override void setName(String name) { if (name.isNotEmpty) _name = name; // ошибка: private _name } }

Перепишите через защищенное свойство.

Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить