-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhw06_hard.py
More file actions
98 lines (75 loc) · 3.12 KB
/
hw06_hard.py
File metadata and controls
98 lines (75 loc) · 3.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
# Задача - 1
# Вам необходимо создать завод по производству мягких игрушек для детей.
# Вам надо продумать структуру классов,
# чтобы у вас был класс, который создает игрушки на основании:
# Названия, Цвета, Типа (животное, персонаж мультфильма)
# Опишите процедуры создания игрушки в трех методах:
# -- Закупка сырья, пошив, окраска
# Не усложняйте пусть методы просто выводят текст о том, что делают.
# В итоге ваш класс по производству игрушек должен вернуть объект нового класса Игрушка.
# Задача - 2
# Доработайте нашу фабрику, создайте по одному классу на каждый тип, теперь надо в классе фабрика
# исходя из типа игрушки отдавать конкретный объект класса, который наследуется от базового - Игрушка
class Toy:
def __init__(self, name, color):
self.name = name
self.color = color
class ToyAnimal(Toy):
def __init__(self, name, color):
super().__init__(name, color)
self._type = 'Животное'
class ToyCartoon(Toy):
def __init__(self, name, color):
super().__init__(name, color)
self._type = 'Мультфильм'
class ToyToxic(Toy):
def __init__(self, name, color):
super().__init__(name, color)
self._type = 'Токсичная игрушка'
class ToyFactory:
def create_toy(self, name, color, toy_type):
self._buy_raw_materials()
self._sewing()
self._set_color()
if toy_type == 'Животное':
return ToyAnimal(name, color)
elif toy_type == 'Мультфильм':
return ToyCartoon(name, color)
else:
return ToyToxic(name, color)
def _buy_raw_materials(self):
print('Закупка материалов.')
def _sewing(self):
print('Пошивка игрушки.')
def _set_color(self):
print('Окраска игрушки.')
factory = ToyFactory()
toy = factory.create_toy('Вася', 'синий', 'Животное')
print(isinstance(toy, ToyCartoon))
print(isinstance(toy, ToyAnimal))
print(isinstance(toy, Toy))
if isinstance(toy, ToyToxic):
print('Опасно для детей!')
else:
print('Можно дать ребенку')
# class ToyFactory:
# def __init__(self, name, color, toy_type):
# self.name = name
# self.color = color
# self.toy_type = toy_type
#
# def buy_materials(self):
# print('The materials was buyed')
#
# def sew(self):
# print('The toys was sewed')
#
# def color(self):
# print('The toys was colored')
#
#
# class Toy(ToyFactory):
# pass
#
#
# toy = Toy('toy', 'green', 'animal')