Как я могу использовать функцию унаследованного «материнского» класса из «дочернего класса»? - PullRequest
1 голос
/ 17 февраля 2012

У меня есть класс CsvWriter, который наследуется от класса Writer.Класс Writer имеет функцию getInfo, которую я хочу использовать в нескольких «дочерних» классах.Но когда я вызываю функцию getInfo из класса CsvWriter, я получаю эту ошибку:

TypeError: unbound method getInfo() must be called with Writer instance as first argument (got Element instance instead)

Поэтому, поскольку класс Writer еще не связан, я не могу вызвать getInfo.Но я не хочу создавать его экземпляр (я думаю), потому что я хочу назвать его из «детского» класса.Как я могу вызвать эту функцию из CsVwriter ()?

Ниже приведены два класса:

class Writer():
    def __init__(self, path, readerInstance):
        self.path = path
        self.readerInstance = readerInstance
        return

    def getInfo(self, element):
        print element


class CsvWriter(Writer):
    def __init__(self,path, readerInstance):
        self.path = path
        self.readerInstance = readerInstance
        for feature in readerInstance.getFeatures():
            Writer.getInfo(feature)
        return

Я запускаю их так:

filePath = '/homes/ndeklein/test.featureXML'
elements = featXML.Reader(filePath)
featXML.CsvWriter('test.csv', elements)

1 Ответ

3 голосов
/ 17 февраля 2012

Заменить Writer.getInfo() на self.getInfo().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...