
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ БЕЛОГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ (НИУ «БелГУ») ИНСТИТУТ ИНЖЕНЕРНЫХ И ЦИФРОВЫХ ТЕХНОЛОГИЙ
КАФЕДРА ИНФОРМАЦИОННЫХ И РОБОТОТЕХНИЧЕСКИХ СИСТЕМ
Отчет по лабораторной работе №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 + '}'; } }