Для студентов НИУ «МЭИ» по предмету Технология программированияЛабораторная работа №5 (5.1 и 5.2)Лабораторная работа №5 (5.1 и 5.2)
2022-10-072022-10-07СтудИзба
Лабораторная работа 5: Лабораторная работа №5 (5.1 и 5.2) вариант 16
Описание
Вариант 16.
Задание 5.1. Классы: инкапсуляция, наследование. Реализовать иерархию классов в соответствии с вариантом. У всех вариантов в качестве базового класса выступает класс “Сотрудник”. Построить диаграмму классов. В случае недопустимых значений полей выбрасываются исключения. Примечание: если в задании требуется реализовать функционал для другого класса, которого нет в вашем варианте, делать этого не требуется
16: 0 2 5 6
0. Класс Директор: Должен содержать имя, фамилию, отчество и зарплату. Данные поля должны находиться в закрытой области класса. Также класс должен содержать поле, содержащее ФИО сотрудников, которые находятся в подчинении у директора, и их заработную плату. Реализовать методы для увольнения и принятия работников. Реализовать методы, позволяющие читать/писать из/в полей класса.
2. Класс Секретарь: Должен содержать имя, фамилию, отчество и зарплату. Данные поля должны находиться в закрытой области класса. Реализовать метод, который для данного директора выводит в виде таблицы список сотрудников. Если в вашем варианте есть класс “Программист”, то реализовать метод, который принимает массив программистов и выводит их в таблицу. Реализовать методы, позволяющие читать/писать из/в полей класса.
5. Класс Водитель Должен содержать имя, фамилию, отчество и зарплату. Данные поля должны находиться в закрытой области класса. Класс должен содержать поле, которое хранит в себе массив из категорий прав. Также должен содержать поле, содержащее массив транспортных средств, которыми управляет водитель. Реализовать методы, позволяющие читать/писать из/в полей класса.
6. Класс Программист Должен содержать имя, фамилию, отчество и зарплату. Данные поля должны находиться в закрытой области класса. Класс должен содержать поле, которое хранит уровень программиста (junior, middle, senior, lead). Класс должен содержать поле, которое будет содержать список технологий, которыми владеет программист. Реализовать методы, позволяющие читать/писать из/в полей класса.
Задание 5.2. Множественное наследование. Реализовать дочерний класс на основе двух классов, реализованных в предыдущем задании (5.1). Рассмотрите полученный результат и скажите, какие проблемы возникли при реализации данного множественного наследования (прим.: "алмаз смерти"). Создать новые классы "Инициалы" и "Выплаты", на основе которых реализовать дочерний класс "Данные о работнике". Продемонстрировать работу класса. В случае некорректных данных выбрасывать исключения.
Задание 5.1. Классы: инкапсуляция, наследование. Реализовать иерархию классов в соответствии с вариантом. У всех вариантов в качестве базового класса выступает класс “Сотрудник”. Построить диаграмму классов. В случае недопустимых значений полей выбрасываются исключения. Примечание: если в задании требуется реализовать функционал для другого класса, которого нет в вашем варианте, делать этого не требуется
16: 0 2 5 6
0. Класс Директор: Должен содержать имя, фамилию, отчество и зарплату. Данные поля должны находиться в закрытой области класса. Также класс должен содержать поле, содержащее ФИО сотрудников, которые находятся в подчинении у директора, и их заработную плату. Реализовать методы для увольнения и принятия работников. Реализовать методы, позволяющие читать/писать из/в полей класса.
2. Класс Секретарь: Должен содержать имя, фамилию, отчество и зарплату. Данные поля должны находиться в закрытой области класса. Реализовать метод, который для данного директора выводит в виде таблицы список сотрудников. Если в вашем варианте есть класс “Программист”, то реализовать метод, который принимает массив программистов и выводит их в таблицу. Реализовать методы, позволяющие читать/писать из/в полей класса.
5. Класс Водитель Должен содержать имя, фамилию, отчество и зарплату. Данные поля должны находиться в закрытой области класса. Класс должен содержать поле, которое хранит в себе массив из категорий прав. Также должен содержать поле, содержащее массив транспортных средств, которыми управляет водитель. Реализовать методы, позволяющие читать/писать из/в полей класса.
6. Класс Программист Должен содержать имя, фамилию, отчество и зарплату. Данные поля должны находиться в закрытой области класса. Класс должен содержать поле, которое хранит уровень программиста (junior, middle, senior, lead). Класс должен содержать поле, которое будет содержать список технологий, которыми владеет программист. Реализовать методы, позволяющие читать/писать из/в полей класса.
Задание 5.2. Множественное наследование. Реализовать дочерний класс на основе двух классов, реализованных в предыдущем задании (5.1). Рассмотрите полученный результат и скажите, какие проблемы возникли при реализации данного множественного наследования (прим.: "алмаз смерти"). Создать новые классы "Инициалы" и "Выплаты", на основе которых реализовать дочерний класс "Данные о работнике". Продемонстрировать работу класса. В случае некорректных данных выбрасывать исключения.
Характеристики лабораторной работы
Предмет
Учебное заведение
Семестр
Номер задания
Вариант
Просмотров
46
Покупок
3
Размер
1,64 Mb