У меня есть родительский класс, в котором вызываются методы дочерних классов:
class Profile:
async def profile(self, message: Message, state: FSMContext) -> None:
await state.clear()
profile_handler = SpecialistProfile() if self.is_specialist else UserProfile()
await profile_handler.profile(message=message, state=state)
2 дочерних класса:
class SpecialistProfile(Profile):
@staticmethod
async def specialist_profile(message: Message, state: FSMContext) -> None:
# code
class UserProfile(Profile):
async def user_profile(self, message: Message, state: FSMContext) -> None:
# code
Изначально specialist_profile и user_profile были статическими методами, но сейчас мне нужно передавать экзампляр класса в user_profile то есть self. Я конечно могу убрать наследование и создавать экзмепляры UserProfile() и SpecialistProfile() непосредственно в классе Profile, но в других частях кода я также использую классы юзер и специалист, и не хочется обращаться к этим классам через класс Profile и также не хочется создавать еще дополнительные классы. Буду рад за любые подсказки.