презинтация. Лабраб 4 Часть2. Лабораторная работа5 Объектноориентированное программирование Часть1 Тема Создание классов на Phyton. Пример с решением Выполнил Студент Нуров С. Ю группа ЛрБИо102рсоб
Скачать 143.72 Kb.
|
Негосударственное образовательное частное Учреждение высшего образования <<Московский финансово-промышленный университет>> <<Синергия>> Институт информационных систем и технологий Департамент Цифровой экономики Дисциплина <<Программирование на языке 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(), чтобы показать, что все работает правильно. |