• Предмет: Информатика
  • Автор: romi42008
  • Вопрос задан 3 месяца назад

Описати клас БазаДанних (Database), який задовольняє наступні умови:

Конструктор класу приймає обов'язковий параметр "Ім'я бази даних" (database_name) і зберігає його значення, як атрибут об'єкту.
В конструкторі оголошений атрибут об'єкту "Під'єднано до бази даних" (connected_to_database), який за замовчування має значення False.
В класі оголошений атрибут класу "Виконані Команди" (executed_commands) із значенням по замовчуванню - пустий список, який буде наповнюватися командами, які будуть виконані будь-яким об'єктом класу Database.
Клас має наступні статичні методи:
перевести в нижній регістр (to_lower) з обов'язковим параметром str, який повертає в результаті роботи введене в параметр str значення переведене в нижній регістр.
Клас має наступні методи класу:
Додати до списку виконаних команд (add_to_executed_commands), з обов'язковим параметром command. Задача методу додати до списку виконаних команд (атрибут класу - executed_commands) значення параметра command.
Клас має наступні методи об'єкту:
Під'єднатися до бази даних (connect_to_database), задача якого змінити значення атрибуту об'єкта connected_to_database на True та вивести на екран повідомлення "Під'єднано до бази даних";
Виконати команду (execute_command) з обов'язковим параметром "Команда" (command). Задача методу вивести на екран введене значення параметра command та додати цю команду до атрибуту класу executed_commands за допомогою методу класу add_to_executed_commands.
Додаткові умови:
Ім'я бази даних (input_database_name) вводиться користувачем з клавіатури;
Команда для виконання (input_command_to_execute) вводиться користувачем з клавіатури;
Зауважте: під командою мається на увазі довільний текст.
Конструктор має лише два параметри: self та database_name;
Обов'язково використовуйте декоратори;
Використовуйте запропоновані назви методів і класів.

Ответы

Ответ дал: proggarmer
1

Ответ:

class Database:

   executed_commands = []

   def __init__(self, database_name):

       self.database_name = database_name

       self.connected_to_database = False

   @staticmethod

   def to_lower(string):

       return string.lower()

   @classmethod

   def add_to_executed_commands(cls, command):

       cls.executed_commands.append(command)

   def connect_to_database(self):

       self.connected_to_database = True

       print("Під'єднано до бази даних")

   def execute_command(self, command):

       print(command)

       self.add_to_executed_commands(command)

Объяснение:

Примітки:

Клас Database має статичний атрибут executed_commands, який є списком команд, виконаних будь-яким об'єктом класу Database.

Конструктор класу приймає параметр database_name і зберігає його значення як атрибут об'єкту database_name.

У конструкторі оголошений атрибут об'єкту connected_to_database, який за замовчуванням має значення False.

Клас має статичний метод to_lower, який приймає параметр string і повертає введене значення параметра string, переведене в нижній регістр.

Клас має метод класу add_to_executed_commands, який додає введену команду до списку executed_commands.

Клас має метод об'єкту connect_to_database, який змінює значення атрибуту connected_to_database на True та виводить повідомлення "Під'єднано до бази даних".

Клас має метод об'єкту execute_command, який виводить введену команду та додає її до списку executed_commands за допомогою методу класу add_to_executed_commands.

Вас заинтересует