나는 의학 양식 수업을 가지고 있습니다. 이 양식은 남녀 모두에게 주어질 것입니다. 나는 클래스를 인스턴스화 할 때 남녀를 구별하지 않아야한다. 성별에 상관없이 동일한 방식으로 인스턴스를 만들고 성별에 관계없이 동일한 질문을 할 수 있다면 좋을 것입니다. 그러나 남자가 임신했는지 묻는 것은 어리 석다는 것을 깨닫게 될 프로그램은, 그 질문을하지 않거나 더 나쁘지 만, 부적절한 질문이라고 말하고 그것을 건너 뛰지 않을 것입니다. 이것은 기본 코드입니다.Python 3.4 상속
if male:
form = medForm("Bill")
form.MedHistory.isSmoking()
if female:
form = medForm("Sarah")
form.MedHistory.isSmoking()
form.MedHistory.isPregnent()
class maleSection():
def isSmoking(self):
#some code here exactly same as female, so create a base class later
class femaleSection():
def isPregnent(self):
#some code here
def isSmoking(self):
#some code here exactly same as male, so create a base class later
class medForm(maleSection, femaleSection):
def _init_(self, nameOfCustomer):
#At the moment not sure if I need anything here
이 두 if 문은 추악합니다. 이것을 처리하는 가장 좋은 방법은 무엇입니까? 또한 Super를 사용하는 것이 까다로울 수 있으므로 가능하면 Super를 사용하지 않고 간단하게 유지하려고합니다. 이것은 Win7, Python 3.4에서 실행 중입니다. sys.version_info (major = 3, minor = 4, micro = 3, releaselevel = 'final', serial = 0)
감사합니다.
첫 번째로 : 가능하면 파이썬 3.6을 설치하고 여기로 가십시오. 이전 버전을 사용할 이유가 없습니다. – jsbueno
Secon :'super' 사용에 까다로운 부분이 없습니다. 사용하지 않는 것이 더 까다 롭습니다. 그것을 피하려고하지 마십시오. – jsbueno
도움이 되긴하지만 업그레이드가 너무 많아서 너무 많은 의존성이 있습니다. 내 문제를 해결하는 방법에 대해 수퍼바이저에게 모범을 보여줄 수 있다면 정말 좋을 것입니다. – usustarr