Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Задание «Использование объектно-ориентированной парадигмы»

Содержание

Создайте класс User и его наследника класс SuperUser, которые описывают пользователя и супер-пользователя. В классе User необходимо описать:

  • конструктор, который принимает в качестве параметров значения для атрибутов name: str, login: str и password: str, grade: int
  • свойства для изменения и получения значений атрибутов
  • метод show_info, который печатает в произвольном формате значения атрибутов name и login
  • атрибут класса count для хранения количества созданных экземпляров класса User

Необходимые условия, которые надо учесть: При этом:

  • атрибут name доступен и для чтения, и для изменения
  • атрибут login доступен только для чтения. При попытке изменения вернуть строку "Невозможно изменить логин!"
  • атрибут password доступен только для изменения. При обращении на чтение вернуть звёздочки (********)
  • атрибут grade не доступен ни для чтения, ни для изменения. При попытке изменения и обращения на чтение вернуть строку "Неизвестное свойство grade ".
  • объекты класса User должны иметь возможность сравниваться по значению атрибута grade с помощью операторов сравнения

В классе SuperUser необходимо описать:

  • конструктор, который принимает в качестве параметров значения для атрибутов name, login, password и role
  • свойство для изменения и получения значения атрибута role: str
  • метод show_info, который печатает в произвольном формате значения атрибутов name, login и role
  • атрибут класса count для хранения количества созданных экземпляров класса SuperUser

Благодря этой практической работе, я стал лучше понимать:

• Инициализацию объектовов класса с помощью конструктора

• Создание классов с атрибутами и методами

• Доступ к атрибутам и методам объектов

• Создание подклассов, которые наследуют атрибуты и методы родительского класса

• Переопределение методов и атрибутов в подклассах

• Ограничение доступа к атрибутам и методам с помощью модификаторов доступа (public, protected, private)

• Использование свойств для безопасного доступа к закрытым атрибутам

• Переопределение поведения стандартных операторов (например, сравнения) для работы с объектами определенных классов

• Создание методов с одинаковыми именами в разных классах, которые ведут себя по-разному в зависимости от типа объекта

• Использование атрибутов класса для хранения информации об экземплярах класса

• Использование магических методов для переопределения поведения объектов (например, str для форматирования строк)

About

Реализация ООП с помощью Python

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages