Здесь нет одного правильного ответа.Многое зависит от вашей конкретной ситуации и модели объекта.Можно использовать несколько разных подходов:
1) Создайте суперкласс, который реализует методы, которые вы хотите использовать повторно.Каждый из ваших текущих классов, которым нужна эта функция, может расширять этот новый супер класс.
2) Если функциональность не является неотъемлемой частью класса, вы можете создать «служебный» класс, который может вызываться каждымкласс, который нуждается в этом.
3) В некоторых ситуациях может быть целесообразно создать «категорию» для расширения функциональности класса, который вы подклассифицируете.
В общем, подумайтео вашей объектной модели и решите, где эта функциональность принадлежит.Если вы обнаружите, что много копируете, это предупреждающий знак того, что ваша модель может быть не совсем подходящей.Удачи!