Файл: Лабораторная работа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(), чтобы показать, что все работает правильно.