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

Задачи на ООП в Python. Часть 6

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

class User: def __init__(self): self.name = None def setName(self, name): if self.notEmpty(name): self.name = name def getName(self): return self.name def notEmpty(self, text): return len(text) > 0 class Employee(User): def __init__(self): super().__init__() self.surn = None def setSurn(self, surn): if self.notEmpty(surn): self.surn = surn def getSurn(self): return self.surn

Сделайте вспомогательный метод notEmpty защищенным (переименуйте в _notEmpty) и поправьте все его вызовы.

Сделайте абстрактный класс Figure (наследник ABC из модуля abc) с абстрактными методами getSquare и getPerimeter.

Сделайте класс Quadrate, наследующий Figure. В __init__ принимайте сторону квадрата. Реализуйте методы площади и периметра.

Сделайте класс Rectangle, наследующий Figure. В __init__ принимайте ширину и высоту. Реализуйте методы площади и периметра.

Сделайте класс Circle, наследующий Figure. В __init__ принимайте радиус. Реализуйте методы площади и длины окружности (как периметра).

Создайте объекты квадрата, прямоугольника и круга. Выведите их площади и периметры.

Попробуйте создать объект абстрактного класса Figure. Что произойдет?

Сделайте абстрактный класс User с абстрактным методом increaseRevenue.

Сделайте классы Employee и Student, наследующие User. В Employee метод пусть увеличивает зарплату, а в Student — стипендию.

Создайте объекты работника и студента, вызовите increaseRevenue и выведите новые значения дохода.

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