JSFiddle - React, Tailwind, and code Playground
JavaScript
/*
class Human {
constructor(name, age) {
this.name = name;
this.age = age;
}
sayName() {
return this.name;
}
sayAge() {
return this.age;
}
}
class Employee extends Human {
constructor(salary, department, name, age) {
super(name, age); //вызов базового конструктора
this.department = department;
this.salary = salary;
}
sayDepartment() {
return this.department;
}
saySalary() {
return this.salary;
}
}
var e = new Employee(12321, 'IT', 'Олег', 33);
console.dir(e);
*/
/*
Задание будет следующее:
Реализуй следующую иерархию наследования:
Human -> Employee -> Manager
Human -> Employee -> Developer
1. Реализуй следующие методы для сущности Manager:
count() - количество разработчиков
add(developer) - добавить нового разработчика в команду
addMany() - добавить много разработчиков (через arguments)
setSalary(developerId, salary) - находит в массиве разработчика по его Id и задает ему ЗП
getSalaries() - получает массив зарплат всех разработчиков (можешь применить метод map)
getAvgSalary() - получает среднее по Зп всех разработчиков (можно применить метод reduce)
Для сущности Developer должны быть реализованы методы:
setManager(manager) - задает нового менеджера
Покажи работу созданных методов.
*/
class Human {
constructor (name, age) {
this.name = name;
this.age = age;
}
}
class Employee extends Human {
constructor (name, age, position, salary) {
super (name, age);
this.position = position;
this.salary = salary;
}
}
class Manager extends Employee {
constructor (developers, name, age, position, salary) {
super (name, age, position, salary);
this.developers = developers;
}
count () {
return this.developers.length;
}
add (developer) {
this.developers.push(developer);
}
addMany (developers) {
for (var i = 0; i < arguments.length; i++) {
this.developers.push(arguments[i]);
}
...