Предмет: Информатика, автор: laizzUnU

задание по Python. СРОЧНО


Создайте класс числа Numbers, который дает информацию, кратно ли данное число 2, 3 и 4. Вывести информацию о кратности объекта числам 2, 3 и 4 в виде таблицы. Создать методы сравнения двух объектов-чисел, используя магические методы для логических операций. Решить задачу с подробными комментариями(важно).

Напишите:

атрибуты (статические и динамические),

методы,

принципы ООП, которые вы использовали при разработке программы (абстракция, инкапсуляция, полиморфизм, наследование),

уровни доступа к атрибутам и методам (public, protected, private) .

Ответы

Автор ответа: ugurabbasov65
2

Класс Numbers:

python

Copy code

class Numbers:

   def __init__(self, number):

       self.number = number

       

   @property

   def is_multiple_of_two(self):

       return self.number % 2 == 0

   

   @property

   def is_multiple_of_three(self):

       return self.number % 3 == 0

   

   @property

   def is_multiple_of_four(self):

       return self.number % 4 == 0

   

   def __eq__(self, other):

       return self.number == other.number

   

   def __ne__(self, other):

       return self.number != other.number

   

   def __lt__(self, other):

       return self.number < other.number

   

   def __le__(self, other):

       return self.number <= other.number

   

   def __gt__(self, other):

       return self.number > other.number

   

   def __ge__(self, other):

       return self.number >= other.number

Атрибуты:

number - динамический атрибут, представляющий число.

Методы:

is_multiple_of_two - метод, проверяющий, является ли число кратным двум;

is_multiple_of_three - метод, проверяющий, является ли число кратным трем;

is_multiple_of_four - метод, проверяющий, является ли число кратным четырем;

eq - магический метод, определяющий равенство двух чисел;

ne - магический метод, определяющий неравенство двух чисел;

lt - магический метод, определяющий меньше ли одно число, чем другое;

le - магический метод, определяющий меньше или равно ли одно число, чем другое;

gt - магический метод, определяющий больше ли одно число, чем другое;

ge - магический метод, определяющий больше или равно ли одно число, чем другое.

Принципы ООП:

Абстракция - класс Numbers абстрагирует понятие числа и предоставляет доступ к его характеристикам;

Инкапсуляция - атрибуты класса Numbers являются скрытыми от внешнего мира, но предоставляются через методы;

Полиморфизм - магические методы позволяют использовать стандартные операторы с объектами класса Numbers;

Наследование - класс Numbers не наследуется от других классов.

Уровни доступа:

Динамический атрибут number является public и доступен для чтения и записи извне;

Методы is_multiple_of_two, is_multiple_of_three, is_multiple_of_four являются public и могут быть вызваны извне;

Магические методы имеют доступ к динамическим атрибутам и методам класса, но не предназ

Похожие вопросы
Предмет: Математика, автор: beknur1967