Передача частных атрибутов в функцию полезностиPython

Программы на Python
Ответить
Гость
 Передача частных атрибутов в функцию полезности

Сообщение Гость »


У меня есть 3 класса с операцией слияния, которая выполняет одинаковые операции с разными аргументами.

Вот скелет того, чем я сейчас занимаюсь:

класс FirstClass: защита __init__(сам): # определяем конструктор def merge(сам, другое): # объединить другого с собой merge_util(src=other, dest=self) класс ВторойКласс: защита __init__(сам): # определяем конструктор def merge(сам, другое): # объединить другого с собой merge_util(src=other, dest=self) # Третий класс определен одинаково merge_util определяется следующим образом:

def merge_util(src, dest): # объединить частные атрибуты src (массив, список и таблицу базы данных) в dest Проблема в том, что этот дизайн нарушает инкапсуляцию. Внешняя функция обращается к частным/защищенным атрибутам.

Я придумал два решения:
[*]
Определите merge_util как метод каждого класса, но тогда я буду дублировать код для каждого класса.
[*]
Используйте наследование. В остальном эти классы имеют мало общего, поэтому я не использовал наследование с самого начала и хочу этого избежать.

Есть ли другие подходы, которые я могу рассмотреть?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»