У меня есть класс медицинской формы. Эта форма будет дана как мужчинам, так и женщинам. Я бы хотел, чтобы НЕ нужно было различать мужчин и женщин, когда я создавал экземпляр класса. Было бы неплохо, если бы я мог создать такой же способ, независимо от пола, и задавать одни и те же вопросы независимо от пола. Но программа, которая осознает, что глупо спрашивать, беременна ли человек, тогда она либо не спросит этот вопрос, либо еще не напечатает, сказав, что это нерелевантный вопрос и пропустить его. Это базовый код, который у меня есть.Python 3.4 Inheritance
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
Эти два утверждения являются уродливыми. Каков наилучший способ справиться с этим? Также я слышал, что использование Super может быть сложным, поэтому, если возможно, я бы не хотел использовать Super и держать его простым. Это выполняется на Win7, Python 3.4. sys.version_info (major = 3, minor = 4, micro = 3, releaselevel = 'final', serial = 0)
Я ценю любую помощь, спасибо.
Во-первых: установите Python 3.6 и пойдите отсюда, если возможно - нет причин идти со старыми версиями – jsbueno
Секон: нет ничего сложного в использовании 'super' - не использовать его _much_ trickier. Не пытайтесь избежать этого. – jsbueno
Оцените помощь, но я не могу обновить, слишком много зависимостей. Если бы вы могли дать мне пример с супер о том, как решить мою проблему, было бы очень приятно. – usustarr