From b3893a51cfbb62ba6598615dd84082ecbc1d2b12 Mon Sep 17 00:00:00 2001 From: Matt Huntington Date: Wed, 5 Jul 2017 15:49:42 -0400 Subject: [PATCH] Create a factory for objects --- python.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/python.md b/python.md index b2ae714..0e72a32 100644 --- a/python.md +++ b/python.md @@ -16,6 +16,7 @@ 1. Use a for loop 1. Create a class for an object 1. Have a class inherit from another +1. Create a factory for objects ## Print a message @@ -252,3 +253,36 @@ superman = SuperHero('Clark Kent', 200, ['flight', 'strength', 'invulnerability' superman.greet() superman.work() ``` + +## Create a factory for objects + +```python +class Car: + def __init__(self, maker, model, serial): + self.maker = maker + self.model = model + self.serial = serial + +class CarFactory: + def __init__(self, name): + self.name = name + self.cars = [] + + def makeCar(self, model): + self.cars.append(Car(self.name, model, len(self.cars))) + + def listCars(self): + for car in self.cars: + print(car.maker + " " + car.model + ": " + str(car.serial)) + + def findCar(self, serial): + for car in self.cars: + if(car.serial == serial): + return car + +toyota = CarFactory('Toyota') +toyota.makeCar('Prius') +toyota.makeCar('Rav 4') +toyota.listCars() +print(toyota.findCar(1).model) +```