은 (파이썬) 고려 default_start()
, main_behaviour()
, default_end()
, custom_start()
및 custom_end()
단지 설명을 위해 코드 필러있다.하위 클래스에서 사용자 정의 할 동작을 언제 별도의 메서드에 넣어야합니까? <p></p>는 전역 함수를 가정합니다 :
class Parent:
def on_start_main(self):
default_start()
def main_behaviour(self):
main_behaviour()
def on_end_main(self):
default_end()
def main(self):
self.on_start_main()
self.main_behaviour()
self.on_end_main()
class Child(Parent):
def on_start_main(self):
custom_start()
def on_end_main(self):
custom_end()
class Parent:
def main_behaviour(self):
main_behaviour()
def main(self):
default_start()
self.main_behaviour()
default_end()
class Child(Parent):
def main(self):
custom_start()
Parent.main_behaviour(self)
custom_end()
대 I 바람직하다이 어떤 모르겠지만, 두 번째 생각한다. 이것은 맛의 문제입니까, 아니면 왜 다른 사람보다 낫다는 구체적인 이유가 있습니까?
감사
예, 어쩌면 그것은 바보 같은 질문이었습니다. 내 코드를 리팩토링하는 것이 좋다면 자연스럽게 첫 번째 방법이 이루어져야합니다. – Scruffy