Skip to content

Commit 413737f

Browse files
authored
Merge pull request mouredev#6744 from JheisonQuiroga/main
#9 - Python
2 parents 474eb64 + c9516ec commit 413737f

File tree

1 file changed

+91
-0
lines changed

1 file changed

+91
-0
lines changed
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
# Superclase
2+
class Animal:
3+
def __init__(self, name):
4+
self.name = name
5+
6+
def sound(self):
7+
pass
8+
9+
10+
# Herencia
11+
# Subclase
12+
class Dog(Animal):
13+
def __init__(self, name, kind):
14+
super().__init__(name)
15+
self.kind = kind
16+
17+
# Polimorfismo
18+
def sound(self):
19+
print("Guau!")
20+
21+
22+
class Cat(Animal):
23+
def __init__(self, name, kind):
24+
super().__init__(name)
25+
self.kind = kind
26+
27+
def sound(self):
28+
print("Miau!")
29+
30+
31+
d1 = Dog("Tobby", "Yorkshire")
32+
c1 = Cat("Lucas", "Desconocido")
33+
34+
35+
for obj in (d1, c1):
36+
print(obj.name, obj.kind)
37+
obj.sound()
38+
39+
40+
"""
41+
Extra
42+
"""
43+
44+
class Employee:
45+
def __init__(self, id, firstname, lastname):
46+
self.id = id
47+
self.firstname = firstname
48+
self.lastname = lastname
49+
50+
class Manager(Employee):
51+
def __init__(self, id, firstname, lastname):
52+
super().__init__(id, firstname, lastname)
53+
self.role = "Manager"
54+
self.employee_in_charge = []
55+
56+
def add_employee_in_charge(self, employee):
57+
self.employee_in_charge.append(employee)
58+
59+
class ProjectManager(Employee):
60+
def __init__(self, id, firstname, lastname):
61+
super().__init__(id, firstname, lastname)
62+
self.projects = []
63+
64+
def add_project(self, project):
65+
self.projects.append(project)
66+
67+
68+
class Developer(Employee):
69+
def __init__(self, id, firstname, lastname, language):
70+
super().__init__(id, firstname, lastname)
71+
self.language = language
72+
73+
def code(self):
74+
print(f"{self.firstname} is programming in {self.language}")
75+
76+
# Creando instancias de los colaboradores
77+
78+
manager = Manager("001", "Duban", "Quiroga")
79+
print(manager.id, manager.firstname, manager.lastname, manager.role)
80+
p_man = ProjectManager("002", "Toji", "Fushiguro")
81+
p_man.add_project("Project1")
82+
print(p_man.id, p_man.firstname, p_man.lastname)
83+
print(p_man.projects)
84+
developer1= Developer("003", "Gojo", "Satoru", "Python")
85+
developer2 = Developer("004", "Suguru", "Geto", "Java")
86+
87+
for obj in (p_man, developer1, developer2):
88+
manager.add_employee_in_charge(obj)
89+
90+
for empl in manager.employee_in_charge:
91+
print(f"Employee in charge: {empl.firstname} {empl.lastname}, ID: {empl.id}")

0 commit comments

Comments
 (0)