Аватар для aleksskay4
71 / 68 / 46
Регистрация: 02.12.2015
Сообщений: 891
Записей в блоге: 1

Для начала вам необходимо создать класс Developer, конструктор которого будет принимать 3 параметра: fullName. Имя разра

02.08.2021, 14:28. Показов 5803. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ваша компания создает внутренний продукт для облегчения контроля за ростом своих разработчиков. Вам поручили задачу реализовать такой продукт.

Для начала вам необходимо создать класс Developer, конструктор которого будет принимать 3 параметра:
  • fullName. Имя разработчика.
  • age. Возраст разработчика.
  • position. Текущая позиция разработчика в компании (например, Junior, Middle, Senior).
Инициализируйте все параметры при помощи this. Также создайте внутри конструктора поле technologies, которое по умолчанию будет равно пустому массиву.
Кроме этого в классе Developer вам необходимо создать 2 метода:
  • code. Метод, у которого тело изначально пустое (в фигурных скобках ничего нет).
  • learnNewTechnology. Данный метод принимает в себя 1 параметр technology, который должен добавляться в конец массива technologies.
После проделанных действий у вас должен получиться шаблон Developer, благодаря которому вы будете создавать дочерние классы.
Вам сейчас необходимо создать 3 дочерних класса от класса Developer:
  • JuniorDeveloper. Конструктор данного класса принимает 2 параметра: fullName и age. Вызовите конструктор родительского класса и передайте туда эти 2 параметра. В качестве 3-го у нас выступает position. Вам необходимо его указать по умолчанию. Напишите значение “Junior” в качестве 3-го параметра вызова родительского конструктора. Кроме этого переопределить метод code, чтобы он выводил в консоль строку “Junior разработчик пишет код...”. Массив technologies должен содержать следующие технологии: 'HTML', 'CSS', 'JavaScript'.
  • MiddleDeveloper. Проделайте ту же самую работу в конструкторе, что и JuniorDeveloper. Только на место position передавайте значение “Middle”. Метод code у класса MiddleDeveloper должен выводить в консоль строку “Middle разработчик пишет код...”. Массив technologies должен содержать следующие технологии: 'HTML', 'CSS', 'JavaScript', ‘React’.
  • SeniorDeveloper. Проделайте ту же самую работу в конструкторе, что и JuniorDeveloper. Только на место position передавайте значение “Senior”. Метод code у класса SeniorDeveloper должен выводить в консоль строку “Senior разработчик пишет код...”. Массив technologies должен содержать следующие технологии: 'HTML', 'CSS', 'JavaScript', ‘React’, ‘NodeJS’.
Примечание: когда вы переопределите метод code в дочерних классах, то вы используете принцип Полиморфизм.
Тестируйте написанные классы с помощью этого кода:
JavaScript
1
2
3
4
5
6
7
8
9
10
juniorDeveloper.code(); // Junior разработчик пишет код...
middleDeveloper.code(); // Middle разработчик пишет код...
seniorDeveloper.code(); // Senior разработчик пишет код...
 
console.log(juniorDeveloper.fullName, juniorDeveloper.age,
juniorDeveloper.position); // 'Анастасия', 20, 'Junior'
console.log(middleDeveloper.fullName, middleDeveloper.age,
middleDeveloper.position); // 'Игорь', 25, 'Middle'
console.log(seniorDeveloper.fullName, seniorDeveloper.age,
seniorDeveloper.position); // 'Максим', 30, 'Senior'
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.08.2021, 14:28
Ответы с готовыми решениями:

Как сделать generic класс, который будет принимать в качестве параметра только числа и уметь их складывать и т.д?
Я хочу написать класс дерева отрезков в который можно передавать любые числа, однако даже T extends Number мне не помогает, потому что для...

Создать класс, который будет способен принимать значения 1, 2, 3, 10 и никакие другие.
Помогите, пожалуйста. Ребят, хочу я создать класс, который будет способен принимать значения 1, 2, 3, 10 и никакие другие. Как реализовать?

создать новый файл, имя которого передается в качестве параметра......
shell unix создает новый файл имя которого передается в качестве параметра Выводит на экран каждые 6 секунд очередные 2 строки файла в...

2
02.08.2021, 16:35

Не по теме:

Цитата Сообщение от aleksskay4 Посмотреть сообщение
Текущая позиция разработчика в компании (например, Junior, Middle, Senior)
а какая зарплата? требования?

1
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
02.08.2021, 16:39
Лучший ответ Сообщение было отмечено amr-now как решение

Решение

JavaScript
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
/**
 * Проверка аргумента на соответствие условию.
 * Если не выполнено, то выбросить ошибку.
 * @param {any} value Значение для проверки
 * @param {(v:any) => boolean} predicate Функция соответствия условию или итерируемая коллекция функций
 * @param {string} message Сообщение об ошибке
 */
function guard(value, predicate, message) {
    if (typeof predicate === "function") {
        if (!predicate(value))
            throw new Error(message);
    }
    else if (predicate?.[Symbol.iterator]) {
        for (let p of predicate) {
            if (!p(value))
                throw new Error(message);
        }
    }
}
const isStr = v => typeof v === "string" && v.trim().length;
const isInt = v => Number.isInteger(v) && v > 0;
 
class Developer {
    constructor(fullName, age, position) {
        guard(this, v => v.constructor !== Developer, "Attempt to create an instance of abstract class.");
        guard(fullName, isStr, "fullName must be string");
        guard(age, isInt, "age must be integer > 0");
        guard(position, isStr, "position must be string");
        this.fullName = fullName;
        this.age = age;
        this.position = position;
        this.technologies = [];
    }
    code() { }
    learnNewTechnology(technology) {
        guard(technology, isStr, "technology must be string");
        if (!this.technologies.contains(technology))
            this.technologies.push(technology);
    }
}
class JuniorDeveloper extends Developer {
    constructor(fullName, age) {
        super(fullName, age, 'Junior');
        this.technologies.push('HTML', 'CSS', 'JavaScript');
    }
    code() { console.log('Junior разработчик пишет код...'); }
}
class MiddleDeveloper extends Developer {
    constructor(fullName, age) {
        super(fullName, age, 'Middle');
        this.technologies.push('HTML', 'CSS', 'JavaScript', 'React');
    }
    code() { console.log('Middle разработчик пишет код...'); }
}
class SeniorDeveloper extends Developer {
    constructor(fullName, age) {
        super(fullName, age, 'Senior');
        this.technologies.push('HTML', 'CSS', 'JavaScript', 'React', 'NodeJS');
    }
    code() { console.log('Senior разработчик пишет код...'); }
}
 
let juniorDeveloper = new JuniorDeveloper('Анастасия', 20, 'Junior'),
    middleDeveloper = new MiddleDeveloper('Игорь', 25, 'Middle'),
    seniorDeveloper = new SeniorDeveloper('Максим', 30, 'Senior');
 
juniorDeveloper.code(); // Junior разработчик пишет код...
middleDeveloper.code(); // Middle разработчик пишет код...
seniorDeveloper.code(); // Senior разработчик пишет код...
 
console.log(juniorDeveloper.fullName, juniorDeveloper.age,
    juniorDeveloper.position); // 'Анастасия', 20, 'Junior'
console.log(middleDeveloper.fullName, middleDeveloper.age,
    middleDeveloper.position); // 'Игорь', 25, 'Middle'
console.log(seniorDeveloper.fullName, seniorDeveloper.age,
    seniorDeveloper.position); // 'Максим', 30, 'Senior'
 
console.log(juniorDeveloper.technologies);
console.log(middleDeveloper.technologies);
console.log(seniorDeveloper.technologies);
mr_dramm, там на фирме всё печально. Даже если джуниор изучит реакт и ноду, он всё равно будет продолжать работать за еду...
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
02.08.2021, 16:39
Помогаю со студенческими работами здесь

Создать класс Вектор на плоскости (поля-координаты начала и конца вектора).Реализовать для него методы:конструктор,вычисление координат самого вектора
Создать класс Вектор на плоскости (поля-координаты начала и конца вектора).Реализовать для него методы:конструктор,вычисление координат...

Класс: Создать класс, объектом которого будет являться двумерный массив размерностью n x m.
Нужно создать класс, объектом которого будет являться двумерный массив размерностью n x m. Массив должен размещаться в динамической памяти....

Создать класс, конструктор которого генерирует динамический массив
Здравствуете, начал изучать С++, мне задали вот такое задание. Как его решать я понятия не имею. Помогите пожалуйста. Нужно создать...

Принимать и передавать в качестве параметра имя файла
Добрый вечер. Написать командный файл, который: принимает в качестве параметра короткое имя файла вызывает файл 1.bat, передавая ему...

Создать класс, конструктор которого генерирует динамический массив чисел
Создать класс, конструктор которого генерирует динамический массив чисел Тип данных: Действительный Количество элементов: 13 ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru