3

以下に示すように親クラスと子クラスを作成すると、親クラスからの引数が子クラスによって自動的に取り込まれないのはなぜですか?

明示的な方が良いことは理解していますが、このコードはどのような状況であるのだろうか...

class testParent(object):
    def __init__(self,testParentParam1,testParentParam2):
        pass


class testChild(testParent):
    def __init__(self,testParentParam1,testParentParam2,testChildParam1,testChildParam2):
        pass

このコードよりも優れています...

class testParent(object):
    def __init__(self,testParentParam1,testParentParam2):
        pass


class testChild(testParent):
    def __init__(self,testChildParam1,testChildParam2):
        pass
4

1 に答える 1

4

派生クラスは基本クラスを拡張します。つまり、拡張を行うために、構築時に必要な情報が多い/少ない/異なる場合があります。検討:

class BaseTextDocument(object):
    def __init__(self, content):
        self.content = content

class WordDocument(object):
    def __init__(self, path, word_version="guess_from_file"):
        content = parse_word_document(path, word_version)
        super(WordDocument, self).__init__(content)
于 2013-03-25T15:07:33.347 に答える