1
私はWriterクラスから継承するCsvWriterクラスを持っています。 Writerクラスには、複数の '子'クラスで使用したいgetInfo関数があります。ライター・クラスがまだintansiatedされていないので、私はGETINFOを呼び出すことはできませんので継承された 'mother'クラスの関数を 'child class'内から使用するにはどうすればよいですか?
TypeError: unbound method getInfo() must be called with Writer instance as first argument (got Element instance instead)
:しかし、ときに私は、私はこのエラーを取得するCsvWriterクラスからはgetinfo関数を呼び出します。しかし、私はそれをインスタンス化したくありません(私は思う)。私はそれを「子供」クラスから呼びたいからです。 CsVwriter()からその関数をどのように呼び出すことができますか?
以下は、2つのクラスです:
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)
子クラスはすべてのメソッドを継承します。単に 'self.getInfo(...)'を呼び出してください。そうでなければ、なぜあなたは継承を全く設定しませんか? –