JSFiddle - React, Tailwind, and code Playground

by Alen Doe

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 Employee {
	constructor(name, position, salary) {
  	this.name = name;
    this.position = position;
    this.salary = salary;
  }
}