Cześć,
Próbuję napisać BuilderPattern. Mam taki problem, że gdy budując nowy obiekt próbuje sie odwołać do metody setSubregion_id() to wyskakuje mi taki błąd:
TypeError: setSubregion_id() missing 1 required positional argument: 'subregion_id' from Builder.Instance import Instance from Builder.InstanceBuilder import InstanceBuilder from Builder.Subregions import Subregions def main(): instance = InstanceBuilder.setSubregion_id(Subregions.PL001).build if __name__ == "__main__": main()
Nie wiem też czy to odwołanie w klasie InstanceBuilder jest poprawne: self.subregion_id = Subregions()
Używałam wcześniej Javy i nie do końca wiem o co mu chodzi ;)
from enum import Enum, unique
@unique
class Subregions(Enum):
PL001 = 1
PL002 = 2
class InstanceBuilder(object):
def __init__(self):
self.subregion_id = Subregions()
def getSubregion_id(self):
return self.subregion_id
def setSubregion_id(self, subregion_id):
subregion_id = Subregions()
return subregion_id
class Instance():
def __init__(self, subregion_id ):
self.subregion_id = subregion_id
from Builder.InstanceBuilder import InstanceBuilder
from Builder.Subregions import Subregions
def main():
instance = InstanceBuilder.setSubregion_id(Subregions.PL001).build
if __name__ == "__main__":
main()