Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_4 Головков И.Е. 12002108 КСМП.docx
Скачиваний:
1
Добавлен:
26.06.2024
Размер:
379.83 Кб
Скачать

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ БЕЛОГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ (НИУ «БелГУ») ИНСТИТУТ ИНЖЕНЕРНЫХ И ЦИФРОВЫХ ТЕХНОЛОГИЙ

КАФЕДРА ИНФОРМАЦИОННЫХ И РОБОТОТЕХНИЧЕСКИХ СИСТЕМ

Отчет по лабораторной работе №4 Тема работы «Создание модульного приложения в Java на основе объектно-ориентированного подхода» по дисциплине «Концепция создания модульных приложений»

студента очного отделения

2 Курса группы 12002108

Головкова Игоря Евгеньевича

Проверил:

ст. пр. Гончаров Дмитрий Викторович

Белгород 2023

Цель работы

Изучение принципов разработки сложных систем, получение навыков создания программ на языке Java с применением принципов ООП и возможностей Java (использование интерфейсов и модулей).

Общая постановка задачи

Разработать модульное приложение, позволяющее вести учет ключевых объектов, имеющих некоторый вид связи (агрегация или композиция) с другими объектами, согласно своему варианту задания.

Вариант 8. Информация о предприятиях.

Разработана программа, реализующая отношение композиции между классом регионов и компаний (предприятий), который его включает.

Демонстрация работы программы:

Рисунок1 – Список компаний, считанный из файла

Рисунок 2 – Неповторяющийся список регионов

Рисунок 3 – Список всех компаний

Рисунок 4 – Список средних компаний (с количеством сотрудников от 500 до 1000 человек)

Рисунок 5 – Список компаний, отфильтрованный по введённому региону

Листинг программы:

// Модуль для запуска приложения

module appRunner { exports com.runner; requires processing; requires transitive organizations; }

// Точка входа в программу (класс App) package com.runner; import java.util.Scanner; import com.processing.*; public class App { static Scanner read = new Scanner(System.in); public static void main(String[] args) { Menu menu = new Menu(); menu.menu(); } }

// Модуль для описания сущностей (компаний и регионов)

module organizations { exports com.organizations; }

// Класс Компания

package com.organizations; import java.io.Serializable; import java.time.LocalDate; public class Company implements Serializable { private String name; private Region region; private int employeeAmount; private LocalDate dateOfRegistration; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getEmployeeAmount() { return employeeAmount; } public int getRegionCode() { return region.getCode(); } public void setEmployeeAmount(int employeeAmount) { this.employeeAmount = employeeAmount; } public LocalDate getDateOfRegistration() { return dateOfRegistration; } public void setDateOfRegistration(LocalDate dateOfRegistration) { this.dateOfRegistration = dateOfRegistration; } public Company(String name, Region region, int employeeAmount, LocalDate dateOfRegistration) { this.name = name; this.region = region; this.employeeAmount = employeeAmount; this.dateOfRegistration = dateOfRegistration; } @Override public String toString() { return "Компания {" + "Название ='" + name + '\'' + ", Регион ='" + region + '\'' + ", Количество сотрудников=" + employeeAmount + '\'' + ", Дата регистрации=" + dateOfRegistration + '}'; } }