初めてPythonを使用して、同じファイルに複数のクラスを記述することになりました。これは、クラスごとに1つのファイルを使用するJavaなどの他の言語とは対照的です。
通常、これらのクラスは1つの抽象基本クラスで構成され、1-2の具体的な実装が使用されますが、使用方法はわずかに異なります。以下にそのようなファイルを1つ投稿しました。
class Logger(object):
def __init__(self, path, fileName):
self.logFile = open(path + '/' + filename, 'w+')
self.logFile.seek(0, 2)
def log(self, stringtoLog):
self.logFile.write(stringToLog)
def __del__(self):
self.logFile.close()
class TestLogger(Logger):
def __init__(self, serialNumber):
Logger.__init__('/tests/ModuleName', serialNumber):
def readStatusLine(self):
self.logFile.seek(0,0)
statusLine = self.logFile.readLine()
self.logFile.seek(0,2)
return StatusLine
def modifyStatusLine(self, newStatusLine):
self.logFile.seek(0,0)
self.logFile.write(newStatusLine)
self.logFile.seek(0,2)
class GenericLogger(Logger):
def __init__(self, fileName):
Logger.__init__('/tests/GPIO', fileName):
def logGPIOError(self, errorCode):
self.logFile.write(str(errorCode))
上記のように、Loggerの基本クラスがあり、その下に実装の違いがいくつかあります。
質問: これはPythonの標準ですか、それともどの言語の標準ですか?この実装を使用すると、どのような問題が発生する可能性がありますか?
編集:私は本当にこの特定のファイルに関するガイダンスを探しているのではなく、より一般的な意味で探しています。クラスが3〜5の中程度に複雑なメソッドになった場合はどうなりますか?それらを分割するのは理にかなっていますか?ファイルを分割する必要があると言った場合のカットオフはどこですか?