Skip to content

Commit 5e02888

Browse files
authored
Merge pull request mouredev#6883 from danhingar/ejercicio09
#9 - Java
2 parents 632d453 + c0576bc commit 5e02888

File tree

1 file changed

+201
-0
lines changed

1 file changed

+201
-0
lines changed
+201
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
1+
import java.util.ArrayList;
2+
import java.util.List;
3+
4+
public class danhingar {
5+
6+
public static void main(String[] args) {
7+
Animal dog = new Dog("Pastor Alemán");
8+
Animal cat = new Cat("Gato persa");
9+
Cat cat1 = new Cat("Gato siamés");
10+
Dog dog1 = new Dog("Bulldog");
11+
Animal animal = new Animal("Pez");
12+
sound(dog);
13+
sound(cat);
14+
sound(dog1);
15+
sound(cat1);
16+
sound(animal);
17+
18+
Manager myManager = new Manager(1, "Daniel");
19+
ProjectManager myProjectManager = new ProjectManager(2, "Juan", "Proyecto 1");
20+
ProjectManager myProjectManager2 = new ProjectManager(3, "Pepe", "Proyecto 2");
21+
Programmer myProgrammer = new Programmer(4, "Luis", "Java");
22+
Programmer myProgrammer2 = new Programmer(5, "Marcos", "Python");
23+
Programmer myProgrammer3 = new Programmer(6, "Pablo", "Dart");
24+
Programmer myProgrammer4 = new Programmer(7, "Rubén", "Typescript");
25+
26+
myManager.add(myManager, List.of(myProjectManager,myProjectManager2));
27+
myProjectManager.add(myProjectManager, List.of(myProgrammer,myProgrammer2));
28+
myProjectManager2.add(myProjectManager2, List.of(myProgrammer3,myProgrammer4));
29+
30+
myProgrammer.add(myProgrammer, myProgrammer2);
31+
myProgrammer3.code();
32+
33+
myProjectManager.coordinateProject();
34+
35+
myManager.coordinateProject();
36+
myManager.printEmployees();
37+
38+
myProjectManager.printEmployees();
39+
myProjectManager2.printEmployees();
40+
41+
}
42+
43+
public static class Animal {
44+
private String name;
45+
46+
public Animal(String name) {
47+
this.name = name;
48+
}
49+
50+
public String getName() {
51+
return name;
52+
}
53+
54+
public void setName(String name) {
55+
this.name = name;
56+
}
57+
58+
public void sound() {
59+
System.out.println("Sonido genérico");
60+
}
61+
}
62+
63+
public static class Dog extends Animal {
64+
65+
public Dog(String name) {
66+
super(name);
67+
}
68+
69+
public void sound() {
70+
System.out.println("Guau!");
71+
}
72+
73+
}
74+
75+
public static class Cat extends Animal {
76+
77+
public Cat(String name) {
78+
super(name);
79+
}
80+
81+
public void sound() {
82+
System.out.println("Miau!");
83+
}
84+
85+
}
86+
87+
public static void sound(Animal animal) {
88+
animal.sound();
89+
}
90+
91+
// EXTRA
92+
public static class Employee {
93+
private Integer id;
94+
private String name;
95+
private List<Employee> employees = new ArrayList<>();
96+
97+
public Employee(Integer id, String name) {
98+
this.id = id;
99+
this.name = name;
100+
}
101+
102+
public String getName() {
103+
return name;
104+
}
105+
106+
public void setName(String name) {
107+
this.name = name;
108+
}
109+
110+
public Integer getId() {
111+
return id;
112+
}
113+
114+
public void setId(Integer id) {
115+
this.id = id;
116+
}
117+
118+
public List<Employee> getEmployees() {
119+
return employees;
120+
}
121+
122+
public void setEmployees(List<Employee> employees) {
123+
this.employees = employees;
124+
}
125+
126+
public void add(Employee employee, List<Employee> employees) {
127+
employee.employees.addAll(employees);
128+
}
129+
130+
public void printEmployees(){
131+
for (Employee employee : employees) {
132+
System.out.println(employee.name);
133+
}
134+
}
135+
136+
}
137+
138+
public static class Programmer extends Employee {
139+
140+
private String language;
141+
142+
public Programmer(Integer id, String name,String language) {
143+
super(id, name);
144+
this.language = language;
145+
}
146+
147+
public String getLanguage() {
148+
return language;
149+
}
150+
151+
public void setLanguage(String language) {
152+
this.language = language;
153+
}
154+
155+
public void add(Employee e,Employee e2){
156+
System.out.println("Un programador no tiene empleados a su cargo. "+e2.getName()+" no se añadirá.");
157+
}
158+
159+
public void code(){
160+
System.out.println(this.getName()+" está programando en "+this.getLanguage());
161+
}
162+
163+
}
164+
165+
public static class Manager extends Employee {
166+
167+
public Manager(Integer id, String name) {
168+
super(id, name);
169+
}
170+
171+
public void coordinateProject(){
172+
System.out.println(this.getName()+" coordina todos los proyectos.");
173+
}
174+
175+
}
176+
177+
public static class ProjectManager extends Employee {
178+
179+
private String project;
180+
181+
public ProjectManager(Integer id, String name,String project) {
182+
super(id, name);
183+
this.project = project;
184+
}
185+
186+
public void coordinateProject(){
187+
System.out.println(this.getName()+" está coordinando su proyecto "+this.project+".");
188+
}
189+
190+
public String getProject() {
191+
return project;
192+
}
193+
194+
public void setProject(String project) {
195+
this.project = project;
196+
}
197+
198+
199+
200+
}
201+
}

0 commit comments

Comments
 (0)