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

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

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

class User: def __init__(self, name): self.__name = name def getName(self): return self.__name def setName(self, name): self.__name = name

Сделайте класс Employee, наследующий от User. Переопределите __init__: добавьте параметры age и salary. Имя передайте в родителя через super().

Сделайте геттеры getAge и getSalary для новых свойств.

Создайте объект Employee и выведите имя, возраст и зарплату через геттеры.

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

class User: def __init__(self): self.__age = None def setAge(self, age): if age >= 0: self.__age = age else: print('need age more 0') class Employee(User): def setAge(self, age): if age <= 120: if age >= 0: self.__age = age else: print('need age more 0') else: print('need age less 120')

Упростите сеттер возраста в Employee, вызвав оригинальный метод родителя через super().

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

class User: def __init__(self): self.__name = None self.__surn = None def setName(self, name): self.__name = name def getName(self): return self.__name def setSurn(self, surn): self.__surn = surn def getSurn(self): return self.__surn class Employee(User): def getFull(self): return self.name + ' ' + self.surn

Убедитесь, что метод getFull приводит к ошибке. Объясните почему.

Исправьте getFull, используя геттеры родителя.

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

class User: def __init__(self): self.__name = None def setName(self, name): self.__name = name def getName(self): return self.__name class Employee(User): def setName(self, name): if len(name) > 0: self.__name = name # ошибка

Исправьте проблемы в коде потомка: не обращайтесь к приватному свойству родителя напрямую, а вызывайте super().setName.

В классе User сделайте приватный метод __capFirst, который делает первый символ строки заглавным. Используйте его в setName.

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

Перепишите свойство имени через защищенное _name (одно подчеркивание) и покажите, что потомок может с ним работать напрямую.

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