18
다른 클래스의 묶음에 의해 상속되는 클래스 A가 있습니다. 이들 중 일부는 비슷한 몇 가지 기능을 가지고 있으며, 다른 곳에서 정의 된 기능을 사용하고이를 필요로하는 클래스에서 호출하는 것이 좋을 것입니다. 그러나 이러한 함수는 수퍼 클래스에 정의 된 함수를 호출합니다. 파이썬 - 자체를 외부 함수에 전달하는 것이 맞습니까?
class A():
def imp_func(*args):
# called by the child class functions
Class B(A):
def common_func(self):
# some stuff
self.imp_func(*args)
그래서 내가 인수로
self object
을 내 도우미 기능을 생성하고 난 도우미 함수 내부에서
imp_func
를 호출 할 수 있습니다.
def helper_func(obj, some_args):
# some common stuff
obj.imp_func(*args)
class B(A):
def common_func(self):
# unique stuff
helper_func(self, some_args)
이렇게하면 문제가 해결됩니다.
하지만이 작업을 수행해야합니까? 이건 파이썬 적인가?
아무런 문제가 없습니다. 'self'는 인스턴스에 대한 참조 일 뿐이며, private가 아니며 다른 함수로 넘기는 것은 위험합니다. –
왜이 작업을 수행해야합니까? 'B'는'A'에서'imp_func'를 상속받습니다. 문제없이'B.common_func'에서'self.imp_func (* args)'를 호출 할 수 있습니다. –
@FlorianBrucker 단 하나의 함수가 아니라 부모 클래스에서 호출 된 몇 개의 함수와 여러 클래스의 여러 함수에서 몇 번 호출되는 함수가 있습니다. 이것은 매우 부풀린 클래스와 함수로 연결됩니다. 또한 이러한 함수를 작성하는 데 많은 시간이 소요됩니다. 도우미 클래스를 사용하면 시간과 노력을 절약하고 코드를보다 깨끗하게 유지 보수 할 수 있습니다. – elssar