Файл: Лабораторная работа5 Объектноориентированное программирование Часть1 Тема Создание классов на Phyton. Пример с решением Выполнил Студент Нуров С. Ю группа ЛрБИо102рсоб.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.12.2023
Просмотров: 56
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Негосударственное образовательное частное
Учреждение высшего образования
<<Московский финансово-промышленный университет>>
<<Синергия>>
Институт информационных систем и технологий
Департамент Цифровой экономики
Дисциплина <<Программирование на языке Python>>
Лабораторная работа№5 ‘Объектно-ориентированное программирование’
Часть1
Тема: << Создание классов на Phyton. Пример с решением >>
Выполнил Студент: Нуров С.Ю
Группа: ЛрБИо-102рсоб
Приняла: Терехова Л.А
Москва 2023
Задание 1. Ресторан: создайте класс с именем Restaurant. Метод init () класса Restaurant должен содержать два атрибута: restaurant_name и cuisine_type. Создайте метод describe_restaurant(), который выводит два атрибута, и метод open_restaurant(), который выводит сообщение о том, что ресторан открыт . Создайте на основе своего класса экземпляр с именем restaurant. Выведите два атрибута по отдельности, затем вызовите оба метода.
Задание 2. Три ресторана: начните с класса из задания 1. Создайте три разных экземпляра, вызовите для каждого экземпляра метод describe_restaurant().
Задание 3. Пользователи: создайте класс с именем User. Создайте два атрибута first_name и last_name, а затем еще несколько атрибутов, которые обычно хранятся в профиле пользователя. Напишите метод describe_user(), который выводит сводку с информацией о пользователе . Создайте еще один метод greet_user() для вывода персонального приветствия для пользователя . Создайте несколько экземпляров, представляющих разных пользователей . Вызовите оба метода для каждого пользователя.
Задание 4. Добавьте метод с именем increment_number_served(), который увеличивает количество обслуженных посетителей на заданную величину. Вызовите этот метод с любым числом, которое могло бы представлять количество обслуженных клиентов — скажем, за один день. 32
Задание 5. Попытки входа: добавьте атрибут login_attempts в класс User из Задания 3. Напишите метод increment_login_attempts(), увеличивающий значение login_attempts на 1. Напишите другой метод с именем reset_login_attempts(), обнуляющий значение login_attempts. Создайте экземпляр класса User и вызовите increment_login_attempts() несколько раз. Выведите значение login_attempts, чтобы убедиться в том, что значение было изменено правильно, а затем вызовите reset_login_attempts(). Снова выведите login_attempts и убедитесь в том, что значение обнулилось.
Задание 6. Киоск с мороженым. Киоск с мороженым — особая разновидность ресторана. Напишите класс IceCreamStand, наследующий от класса Restaurant из Задания 1 или Задания 4. Подойдет любая версия класса; просто выберите ту, которая вам больше нравится. Добавьте атрибут с именем flavors для хранения списка сортов мороженого. Напишите метод, который выводит этот список. Создайте экземпляр IceCreamStand и вызовите этот метод.
Задание 7. Администратор. Администратор — особая разновидность пользователя. Напишите класс с именем Admin, наследующий от класса User из Задания 3 или Задания 5. Добавьте атрибут privileges для хранения списка строк вида «разрешено добавлять сообщения», «разрешено удалять пользователей», «разрешено банить пользователей» и т. д. Напишите метод show_privileges() для вывода набора привилегий администратора. Создайте экземпляр Admin и вызовите свой метод.
Задание 8. Привилегии. Напишите класс Privileges. Класс должен содержать всего один атрибут privileges со списком строк из Задания 7. Переместите метод show_privileges() в этот класс. Создайте экземпляр Privileges как атрибут класса Admin. 33 Создайте новый экземпляр Admin и используйте свой метод для вывода списка привилегий.
Задание 9. Импортирование класса Restaurant: возьмите последнюю версию класса Restaurant и сохраните ее в модуле. Создайте отдельный файл, импортирующий класс Restaurant. Создайте экземпляр Restaurant и вызовите один из методов Restaurant, чтобы показать, что команда import работает правильно.
Задание 10. Импортирование класса Admin: начните с версии класса из Задания 8. Сохраните классы User, Privileges и Admin в одном модуле. Создайте отдельный файл, создайте экземпляр Admin и вызовите метод show_privileges(), чтобы показать, что все работает правильно.
Задание 11. Множественные модули: сохраните класс User в одном модуле, а классы Privileges и Admin в другом модуле. В отдельном файле создайте экземпляр Admin и вызовите метод show_privileges(), чтобы показать, что все работает правильно.