Uploaded by cahangir_axundov

Курсовая Работа ООП Java

advertisement
АЗЕРБАЙДЖАНСКИЙ ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ НЕФТИ И ПРОМЫШЛЕННОСТИ
ЗАДАНИЕ ПО КУРСОВОЙ РАБОТЕ
ФАКУЛЬТЕТ: Информационные технологии и управление
КАФЕДРА: Компьютерная инженерия
Группа_____650.19___________ курс___________ III __
Специальность____050631 Компьютерной инженерии
Студент: Баламетов Камран
Зачетная книжка_________
Руководитель курсовой работы
асс. Халилов.М.
Срок выдачи _________________________________________
Дата сдачи____________________________________
Тема курсовой работы_____________________________________________
_____________________________________________________________
Отзыв руководителя курсовой:
______________________________________________________________
______________________________________________________________
_______________________________________________________________
Подпись студента_________________________________________________
Подпись рук.курсовой__________________________________________
Подпись зав.кафедрой__________________________________________
Дата защиты курсовой___________________Оценка__________
Пред.комиссии__________________________________(_______________)
Члены комиссии:1._____________________________ __(_______________)
2._______________________________________________(_______________)
3._____________________________________________ (_______________)
АЗЕРБАЙДЖАНСКИЙ ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ НЕФТИ И ИНДУСТРИИ
Факультет: Информационные технологии и управление
Кафедра: Компьютерная инженерия
Предмет: « Объектно-ориентированное программирование »
курсовая работа
Тема: Создание базы данных в Java: Производство
Группа: 650.19
Курс
3
Специальность____050631 Компьютерной инженерии
Студент:
Баламетов Камран
Руководитель:
асс.Халилов.М.
Зав.кафедрой:
доц.Рагимова Н.А.
Баку – 2021
Введение………………………………………………..3
Глава 1. Теоретическая Часть………………………..18
1.1. Краткая История языка Java
1.2. Сферы применения Java-технологий
1.3. Краткая История Базы Данных
1.4. Основы языка Java
1.5. Синтаксис и семантика языка Java
1.6. Основы Базы Данных
1.7. Модели представления данных
Глава 2. Практическая Часть…………………………29
2.1 Анализ темы курсовой работы
2.2 Код Программы
2.3 Как выглядит программа
2.4 Создание Базы Данных для программы
2.5 Подключение Java к Базе данных:
2.6 Проверка программы
Результаты……………………………………1
Список Литературы…………………………..1
ВВЕДЕНИЕ
Актуальность темы обусловлена большим количеством программистов,
работающих именно с объектно-ориентированным программированием,
которое на данный момент является одной из самых распространенных и
известных парадигм. И именно поэтому начинающим программистам и
специалистам в сфере IT-технологий необходимо его изучить. Большое число
программистов начало думать в терминах ООП, большое число кода написано
и протестировано, но не все еще полностью изучено и именно поэтому нам
еще есть куда двигаться, и что модернизировать, ведь еще не раскрыт весь
потенциал данной парадигмы. Это то, что делает объектно-ориентированное
программирование актуальным ещё долгое время, особенно с целью решения
классических задач. Основная цель - исследование парадигмы объектноориентированного программирования, а также механизма написания
программы на объектно-ориентированном языке.
Java — универсальный язык и нашёл применение практически во всех
областях экономики и IT-специализациях. На нём создают десктопные и
мобильные приложения, софт для умной техники, программное обеспечение и
игры. Java применяют банки, торговые и строительные фирмы,
образовательные организации, государственные структуры и IT-корпорации.
В этой статье мы разберёмся, стоит ли учить Java новичку, как долго придётся
осваивать этот язык и где потом можно будет работать.
- Java — это объектно ориентированный язык, на котором пишут
серверный софт, программы и мобильные приложения. Это один из
основных языков для разработки под Android.
- Популярность. Около 7 млрд устройств по всему миру используют
приложения, созданные на джава. Миллионы программистов владеют
языком программирования java и спрос на таких специалистов остаётся
высоким.
- Универсальность и гибкость. Джава применяют в научных разработках,
мобильных приложениях, геймдеве, создании десктопного ПО, вебсайтов и софта для встраиваемых систем. На джава создают программы
любой сложности: банковские приложения, интернет-магазины, софт
для умной техники и умных домов.
- Сообщество. Благодаря большому числу программистов и
реализованных решений, а также библиотек и дополнений практически
любую проблему можно решить, обратившись за помощью к коллегам
на форумах.
- Кроссплатформенность. Для джава создана специальная виртуальная
машина JVM, исполняющая код. У неё две функции — запускать джаваприложения на любых ОС и устройствах и управлять памятью
приложений. Единожды написанный код будет работать с любой
операционной системой и на любой платформе.
- Надёжность. Джава — строго типизированный язык. Это значит, что
всякая переменная или выражение имеют определённый тип и
программа-компилятор проверяет код и не даёт совершать ошибки
разработчику.
- Простота изучения. Для понимания java необходимы базовые знания.
Нужно
понимать
специфику
объектно-ориентированного
программирования, разбираться в компьютерном «железе», изучать
достаточно сложный синтаксис и учиться работать с дополнительными
программными инструментами.
На сегодняшний день азербайджанские предприятия все больше
задумываются
об
эффективности
производства
и
повышение
производительности труда, умении управлять издержками и качеством.
Задумываются о конкурентоспособности, и выходи на мировой рынок.
Обычно руководители считают, что для улучшения качества и повышения
эффективности производства необходимо, прежде всего, потратить много
денег на покупку новейшего оборудования, технологии и все эти расходы, та
или иначе, приведут к повышению себестоимости продукции.
На сегодняшний день заказчик желает лучшего качества по более низкой цене.
Улучшение производительности означает лучшее использование ресурсов и
достижение лучшей эффективности.
Производство готовых компьютеров – очень распространенная практика,
особенно в корпоративном сегменте. Впрочем, многие фирмы ориентируются
и на рядовых пользователей, и на геймеров, предлагая сборки под любые
запросы.
Каталог крупнейших производителей компьютерной техники - это перечень
ведущих предприятий из разных стран мира. По каждой компании приводятся
контактные данные: адрес, телефоны, интернет адрес, а также другие важные
факты - год основания, количество сотрудников, объём продаж, ведущие
специалисты и др.
Актуальность доклада на тему развития и производства персональных
компьютеров и ноутбуков и т.д. обусловлена тенденцией развития
современного общества, которая имеет преимущественно техногенный
характер. Современный мир построен на базе компьютерных электронных
систем, которые проникли фактически во все сферы деятельности человека.
Основным элементом техногенного развития человечества является
компьютер. Именно это устройство сегодня решает бесконечное множество
поставленных человеком задач.
Целью доклада является – исследование развития, становления и
совершенствования персонального компьютера и других компьютерных
технологий.
Наибольшее распространение среди компьютеров получили так называемые
«электронно-вычислительные
машины»,
ЭВМ.
Собственно,
для
подавляющего большинства людей, слова «электронно-вычислительные
машины» и «компьютеры» стали словами-синонимами, хотя на самом деле это
не так. Наиболее распространённый тип компьютеров - электронный
персональный компьютер.
Производство готовых компьютеров – очень распространенная практика,
особенно в корпоративном сегменте. Впрочем, многие фирмы ориентируются
и на рядовых пользователей, и на геймеров, предлагая сборки под любые
запросы. Итак, вот топ производителей ПК.
В последнее время спрос на персональные компьютеры в Азербайджане
держится на стабильно высоком уровне, так что для целого ряда
отечественных производителей экономически оправданной становится
организация конвейерной сборки вычислительной техники, что повышает
качество готовых изделий и значительно снижает долю ручного труда в
процессе сборки.
Мини-завод по производству компьютеров офисного применения включает в
себя сборочный конвейер, участки тестирования и упаковки. На конвейере
происходит механическая сборка компьютера. После этого с
технологического диска на нем устанавливаются драйверы устройств и
тестовая версия операционной системы.
Все больше компаний по всему миру реализуют стратегии цифровой
трансформации, однако дефицит полупроводников может стать серьезной
преградой. В таких условиях ведущим технологическим лидерам необходимо
увеличивать объемы производства и обеспечить партнерам более гибкий
доступ к электронным компонентам и инновационным программным
продуктам.
Есть разные производители компьютеров: Msi, Lenovo, Apple, Acer, Asus, Hp,
Toshiba и т.д.
ГЛАВА.1 ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
1.1 Краткая История языка Java:
Язык программирования Java – востребованный, универсальный и
сравнительно легко осваиваемый. Это идеальный выбор для новичков и
желающих обучиться новой профессии. На нём создают мобильные
приложения, сервисные части сайтов и даже игры, например, Minecraft
написан на Java.
Изначально Java создавался для программирования бытовых устройств. Язык
программирования Java зародился в компании Sun Microsystems. Он
подразумевался как более легкая и универсальная альтернатива сложным
языкам C/C++.
История создания языка уходит к его изобретателю – Джеймсу Гослингу,
который изначально придумал языку совершенно другое название. Но так как
оно было уже занято, то Java стал Java, переняв свое имя у марки кофе,
напитка, спасающего любого программиста. Эмблема также включает в себя
отсылки к этой истории и изображает чашку.
Главный разработчик Java Джеймс Гослинг перешел в Sun в 1984 году из
исследовательского отдела IBM. До Java Гослинг разработал не имевший
коммерческого успеха оконный интерфейс NeWS и GOSMACS — первую
реализацию текстового редактора EMACS на языке С.
После этого Гослинг и его коллеги начали изучать перспективы на рынке
электроники и бытовой техники.
«Группе была поставлена задача создать распределенную систему, которую
можно было бы в качестве современной программной технологии продавать
производителям бытовой электроники», вспоминает Гослинг.
В декабре 1990 года компания Sun создала рабочую группу для разработки
новой технологии, куда вошел Патрик Нотон. Однако ему показалось, что
возможностей C++ и С API не хватит для выполнения этой задачи.
Поэтому Патрик Нотон начал проект под названием Stealth Project, чтобы
найти решение проблемы.
Позже к нему присоединились Джеймс Гослинг и Майк Шеридан, и проект
получил название Green Project. Когда стало понятно, что у проекта – большие
перспективы, они пригласили еще 10 человек и начали работать в офисе на
Сэнд Хилл Роуд (Калифорния). Компания Sun поддержала начинание,
предположив, что оно ознаменует «новую волну» в ИТ-отрасли.
Команда вскоре задумалась о том, чтобы усовершенствовать язык С++.
Однако он оказался избыточным и слишком ресурсоемким, чтобы на его базе
создать язык, удовлетворяющий поставленным требованиям:
1. Поддержка объектно-ориентированной парадигмы;
2. Возможность запуска одной и той же программы на разных операционных
системах;
3. Встроенные механизмы для работы с компьютерных сетей;
4. Обеспечение безопасности удаленного исполнения программ;
5. Использование преимуществ других объектно-ориентированных языков
программирования.
В 1997 году большинство версий Java оставались бесплатными, за
исключением Java Enterprise System. В этом же году вышла существенно
обновленная версия – Java 2, а также выделились отдельные платформы: J2SE,
J2EE, J2ME.
Каждая платформа включает в себя:
• язык программирования;
• набор служебных программ (JVM, JRE, JDK и т.п.);
• набор библиотек;
Java 2 Platform, Standard Edition (J2SE) предназначается для использования на
рабочих станциях и персональных компьютерах. Является основой всех
других Java-технологий.
Java 2 Platform, Micro Edition (J2ME) является усеченным вариантом J2SE, для
того, чтобы соответствовать ограниченным аппаратным возможностям
мобильных устройств, таких как, например, сотовые телефоны.
Java Virtual Machine (JVM) представляет собой программу, имитирующую
работу некоторой гипотетической Java-машины.
Java Runtime Environment (JRE) представляет собой минимальный набор
средств, необходимых для запуска Java-программ. Основу JRE составляют
виртуальная машина Java и набор стандартных библиотек.
Java Development Kit (JDK) представляет собой набор средств, используемых
в процессе разработки Java-программ: компилятор, отладчик, средства для
автоматической генерации документации, комплект примеров и т.п. JDK
работает с уже готовыми текстами программ и не содержит какого-либо
редактора.
Интегрированные среды разработки (Eclipse, Netbeans, JBuilder и т.п.) для
компиляции программ используют внешний JDK.
1.2 Сферы применения Java-технологий:
В настоящее время Java-технологии находят широкое применение в
различных сферах. Это, в первую очередь, вызвано особенностями создания и
запуска Java-приложений.
1. Разработка приложений (application)
Язык Java используется для разработки обычных прикладных программ,
которые запускаются пользователем и имеют доступ ко всем ресурсам
компьютера наравне с любыми другими программами.
Для запуска Java-приложений в операционной системе должна быть
установлена среда исполнения Java (JRE).
2. Разработка мидлетов (midlet)
Язык Java используется для разработки специализированных программ,
предназначенных для использования на мобильных устройствах.
Структура и возможности мидлетов обусловлены техническими
особенностями мобильных устройств.
Для запуска мидлетов мобильное устройство должно поддерживать
соответствующую возможность.
3. Разработка апплетов (applet)
Язык Java используется для разработки специализированных программ,
обычно небольшого размера, запускаемых браузером внутри web-документа
для
вывода
динамического
содержимого
и/или
интерактивного
взаимодействия с пользователем.
Для запуска апплетов браузер должен содержать соответствующий модуль
(plug-in).
4. Разработка JSP-страниц (Java Server Pages)
JSP-страницы представляют собой HTML-документы со вставками на языке
Java, которые используются для анализа пользовательских запросов и
динамического формирования web-документов на основе результатов
обработки этих запросов.
Для обработки JSP-страниц Web-сервер должен содержать соответствующий
модуль.
5. Разработка сервлетов (servlet)
На языке Java разрабатываются специализированные программы-сервлеты,
функционирующие в рамках Web-сервера и имеющие доступ к его ресурсам:
файлам, базам данных и т.п.
Для запуска сервлетов используется Web-сервер со специальным модулем
(контейнером сервлетов) или специальный сервер приложений.
В ноябре 2006 года Sun объявила часть кода виртуальной машины Java (JVM)
свободном распространяемым и начала выпускать его под лицензией GNU
General Public License (GPL). К маю 2007 года компания распространяла
бесплатно почти весь код JVM, за исключением малой его части, на которую
Sun не имеет прав.
В 2009-10 годах корпорация Oracle поглотила компанию Sun Microsystems. В
апреле 2010 Джеймс Гослинг, перешедший в Oracle после поглощения,
покинул компанию.
1.3 Краткая История Базы Данных:
Период развития – 70-е годы. Концепция баз данных широко распространяется
благодаря повышению характеристик аппаратного обеспечения компьютеров.
Идет успешное внедрение систем, поддерживающих иерар­хи­чес­кую и
сетевую структуры данных.
Период становления – начало 60-х - начало 70-х гг. В этот период появляется
сам термин «база данных» и создается несколько первоначальных систем.
Основой появления баз данных явилось предложение конца 50-х годов
использовать файлы для хранения исходных данных. Основное требование к
таким файловым системам – быть совместно используемым хранилищем
данных. В последующем стало очевидным, что совместно использу­емые
данные, должны обладать специфическими свойствами, в частности:
независимость данных, отсутствие дублирования и противоречивости,
контроль прав доступа к данным, эффективная техника доступа к данным, а
также многие другие.
Период зрелости – 80-е годы. Реляционная модель получила полное
теоретическое обоснование. Разработаны крупные реляционные СУБД Oracle,
Informix, и другие. Промышленные реляционные системы получают широкое
распрост­ране­ние во всех сферах человеческой деятельности. Реляционные
системы практически вытеснили с мирового рынка ранние СУБД
иерархического и сетевого типа.
Дальнейшее развитие реляционных СУБД шло в следующих направлениях:
Удобство применения. Появление персональных компьютеров сделал
принципиальным вопрос удобства использо­ва­ния программ, что также
относилось и к СУБД. На протяжении всего этого периода интенсивно
развивается внешний интерфейс взаимодействия пользователей с базами
данных.
Многоплановость. Изначально базы данных разрабатывались для хранения и
обработки символьной информации и традиционно использовались в таких
сферах, как обработка экономической информации, статистика, банковское
дело, системы резервирования, информационные системы различного
направления. Появление спроса к базам данных в нетрадиционных сферах их
применения, системы автоматизации проектирования, издательское дело и
другие, потребовали хранения в базах данных и обработки изображений,
звуков, полнотекстовой информации.
Этот период также характеризуется теоретическими и экспериментальными
исследованиями в области баз знаний. Разрабатываются многочисленные
экспертные системы, использующие базы знаний. В подавляющем
большинстве случаев базы знаний разрабатываются на основе реляционных
СУБД.
1.4 Основы языка Java:
Программирование – это написание исходного кода программы на одном из
языков программирования. Существует множество различных языков
программирования, благодаря которым создаются всевозможные программы,
решающие определенный круг задач. Язык программирования – это набор
зарезервированных слов, с помощью которых пишется исходный код
программы. Компьютерные системы не в силах (пока) понимать человеческий
язык и уж тем более, человеческую логику (особенно женскую), поэтому все
программы пишутся на языках программирования, которые впоследствии
переводятся на язык компьютера или в машинный код. Системы, переводящие
исходный код программы в машинный код, очень сложные и их, как правило,
создают не один десяток месяцев и не один десяток программистов. Такие
системы называются интегрированными средами программирования
приложений или инструментальными средствами.
Система программирования представляет собой огромную продуманную
визуальную среду, где можно писать исходный код программы, переводить
его в машинный код, тестировать, отлаживать и многое другое.
Дополнительно существуют программы, которые позволяют производить
вышеперечисленные действия при помощи командной строки.
Объектно-ориентированное программирование строится на базе объектов, что
в коей-той мере аналогично с нашим миром. Если оглянуться вокруг себя, то
обязательно можно найти то, что поможет более ярко разобраться в модели
такого программирования. Например, я сейчас сижу за столом и печатаю эту
главу на компьютере, который состоит из монитора, системного блока,
клавиатуры, мыши, колонок и так далее. Все эти части являются объектами, из
которых состоит компьютер. Зная это, очень легко сформулировать какую-то
обобщенную модель работы всего компьютера. Если не разбираться в
тонкостях программных и аппаратных свойств компьютера, то можно сказать,
что объект Системный блок производит определенные действия, которые
показывает объект Монитор. В свою очередь объект Клавиатура может
корректировать или вовсе задавать действия для объекта Системный блок,
которые влияют на работу объекта Монитор. Представленный процесс очень
хорошо
характеризует
всю
систему
объектно-ориентированного
программирования.
Java — язык программирования общего назначения. Относится к объектноориентированным языкам программирования, к языкам с сильной типизацией.
Вот его некоторые особенности:
чувствительность к регистру — идентификаторы User и user в Java
представляют собой разные сущности;
для именования методов используется lowerCamelCase. Если название
метода состоит из одного слова, оно должно начинаться со строчной буквы.
Пример: firstMethodName ();
для именования классов используется UpperCamelCase. Если название
состоит из одного слова, оно должно начинаться с прописной буквы. Пример:
FirstClassName.
название файлов программы должно точно совпадать с названием класса
с учётом чувствительности к регистру. Например, если класс называется
FirstClassName, файл должен называться FirstClassName.java;
идентификаторы всегда начинаются с буквы (A-Z, a-z), знака $ или
нижнего подчёркивания _;
Классы:
Стержнем всех программ Java являются классы, на которых основывается
объектно-ориентированное программирование. Вы по сути уже знаете, что
такое классы, но пока об этом не догадываетесь. В предыдущем разделе мы
говорили об объектах, ставя в пример устройство всего компьютера. Каждый
объект, из которых собран компьютер, является представителем своего класса.
Например, класс Мониторов объединяет все мониторы вне зависимости от их
типов, размеров и возможностей, а один какой-то конкретный монитор,
стоящий на вашем столе и есть объект класса мониторов.
Такой подход позволяет очень легко моделировать всевозможные процессы в
программировании, облегчая решение поставленных задач. Например,
имеется четыре объекта четырех разных классов: монитор, системный блок,
клавиатура и колонки. Чтобы воспроизвести звуковой файл необходимо при
помощи клавиатуры дать команду системному блоку, само же действие по
даче команды вы будете наблюдать визуально на мониторе и, в итоге, колонки
воспроизведут звуковой файл. То есть любой объект является частью
определенного класса и содержит в себе все имеющиеся у этого класса
средства и возможности. Объектов одного класса может быть столько, сколько
это необходимо для решения поставленной задачи.
Методы:
Методы – это набор команд, с помощью которых можно производить те или
иные действия с объектом.
Каждый объект имеет свое назначение и призван решать определенный круг
задач с помощью методов. Какой толк был бы, например, в объекте
Клавиатура, если нельзя было нажимать на клавиши, получая при этом
возможность отдавать команды? Объект Клавиатура имеет некое количество
клавиш, с помощью которых пользователь приобретает контроль над
устройством ввода и может отдавать необходимые команды. Обработка таких
команд, происходит с помощью методов.
Итак, мы видим, что каждый из объектов может иметь в своем распоряжении
набор методов для решения различных задач. А поскольку каждый объект
является объектом определенного класса, то получается, что класс содержит
набор методов, которыми и пользуются различные объекты одного класса. В
языке Java все созданные вами методы должны принадлежать или являться
частью какого-то конкретного класса.
1.5 Синтаксис и семантика языка Java:
Например
class Telefon
{
void on()
{
// тело метода on()
}
void off()
{
// тело метода off()
}
}
Ключевое слово class в языке Java объявляет класс, далее идет название самого
класса. В нашем случае это Telefon. Сразу пару слов касательно регистра
записи. Почти во всех языках программирования важно сохранять запись
названий в том регистре, в котором она была сделана. Если вы написали
Telefon, то уже такое написание как telefon или TELefoN выдаст ошибку при
компиляции. Как написали первоначально, так и надо писать дальше.
Зарезервированные или ключевые слова записываются в своем определенном
регистре, и вы не можете их использовать, давая их названия методам,
классам, объектам и так далее. Пробелы между словами не имеют значения,
поскольку компилятор их просто игнорирует, но для читабельности кода они
важны.
В теле класса Telefon имеются два метода: on() – включающий телефон и
метод off() – выключающий телефон. Оба метода имеют свои тела и в них по
идее должен быть какой-то исходный код, описывающий необходимые
действия обоих методов. Для нас сейчас неважно, как происходит реализация
этих методов, главное – это синтаксис языка Java.
Оба метода имеют круглые скобки on(), внутри которых могут быть записаны
параметры, например, on(int time) или on(int time, int time1). С помощью
параметров происходит своего рода связь методов с внешним миром. Говорят,
что метод on (int time) принимает параметр time. Для чего это нужно?
Например, вы хотите, чтобы телефон включился в определенное время. Тогда
целочисленное значение в параметре time будет передано в тело метода и на
основе полученных данных произойдет включение телефона. Если скобки
пусты, то метод не принимает никаких параметров.
Комментарии
Комментарии в Java могут быть трех видов, это:
//, /*…*/ и /**…*/
Комментарии, записанные с помощь оператора // должны располагаться в
одной строке:
// Одна строка
!!! Ошибка! На вторую строку переносить нельзя!
// Первая строка
// Вторая строка
// …
// Последняя строка
Комментарии, использующие операторы /*…*/ могут располагаться на
нескольких строках. В начале вашего комментария поставьте /*, а в конце,
когда закончите комментировать код, поставьте оператор */. Последний вид
комментария /**…*/ используется при документировании кода и также может
располагаться на любом количестве строк.
Типы данных Java
Чтобы задать произвольное значение, в Java существуют типы данных. В
классе Telefon мы создали два метода. Оба метода не имели параметров, но
когда приводился пример метода on(int time) с параметром time, говорилось о
передаче значения в метод. Данное значение указывало на время, с помощью
которого якобы должен включиться телефон. Спецификатор int как раз и
определяет тип значения time. В Java 2 МЕ шесть типов данных.
• byte – маленькое целочисленное значение от –128 до 128;
• short – короткое целое значение в диапазоне от –32768 до 32767;
• int – содержит любое целочисленное значение от –2147483648 до
2147483647;
• long – очень большое целочисленное значение, от –922337203685475808 до
9223372036854775807;
• char – это символьная константа в формате Unicode. Диапазон данного
формата от 0 до 65536, что равно 256 символам. Любой символ этого типа
должен записываться в одинарных кавычках, например, ‘G’;
• boolean – логический тип, имеет всего два значения: false – ложь и true –
истина. Этот тип часто используется в циклах, о которых чуть позже. Смысл
очень прост – если у вас в кармане есть деньги, предположительно это true, а
если нет то false. Таким образом, если деньги имеются – идем в магазин за
хлебом или пивом (нужное подчеркнуть), если нет денег – остаемся дома. То
есть это такая логическая величина, которая способствует выбору дальнейших
действий вашей программы.
Чтобы объявить какое-то необходимое значение используется запись:
int time;
long BigTime;
char word;
Оператор точка с запятой необходим после записей и ставится в конце строки.
Можно совместить несколько одинаковых по типу объявлений через запятую:
mt time, time1, time2;
Арифметические операторы
Все арифметические операторы очень просты и аналогичны операторам
умножения «*», деления «/», сложения «+» и вычитания «–» используемые в
математике. Существует оператор деления по модулю «%» и слегка
запутанная на первый взгляд ситуация с оператором равно «=». Оператор
равно в языках программирования называется оператором присваивания:
int x = 3
Здесь вы переменной х присваиваете значение 3. А оператор «равно» в языках
программирования соответствует записи двух подряд операторов «равно»:
«==». Рассмотрим на примере, что могут делать различные арифметические
операторы.
int x, y, z;
x = 5;
y = 3;
z = 0;
z = x + y;
В данном случае z будет иметь значение уже суммы x и y, то есть 8.
x = z*x;
Переменная х имела значение 5, но после такой записи предыдущее значение
теряется и записывается произведение z*x (8*5), что равно 40. Теперь, если мы
продолжим дальше наш код, то переменные будут иметь такой вид:
// x = 40;
// y = 3;
// z = 8;
Операторы сложения и вычитания имеют те же назначения что и в математике.
Отрицательные числа так же родственны.
Операторы декремента «––» и инкремента «++» весьма специфичны, но очень
просты. В программировании часто встречаются моменты, когда требуется
увеличить или уменьшить значение на единицу. Часто это встречается в
циклах. Операция инкремента увеличивает переменную на единицу.
int x = 5;
x++;
// Здесь х уже равен 6
Операция декремента уменьшает переменную на единицу.
int x = 5;
x--;
// х равен 4
Операции инкремента и декремента могут быть пост и префиксными:
int x = 5;
int y = 0;
y = x++;
В последней строке кода сначала значение x присваивается y, это значение 5,
и только потом переменная х увеличивается на единицу. Получается что:
x = 6, y = 5
Префиксный инкремент имеет вид:
int x = 3;
int y = 0;
y = ++x;
И в этом случае, сначала переменная х увеличивается на один, а потом
присваивает уже увеличенное значение y.
y = 4, x = 4
Операторы отношения
Операторы отношения позволяют проверить равенство обеих частей
выражения. Имеется оператор равенства «==», операторы меньше «<» и
больше «>», меньше или равно «<=» и больше или равно «>=», а так же
оператор отрицания «!=».
9 == 10;
Это выражение не верно, девять не равно десяти, поэтому его значение этого
выражения равно false.
9 != 10;
Здесь же, наоборот, оператор отрицания указывает на неравенство выражения,
и значение будет равно true. Операторы больше, меньше, больше или равно и
меньше или равно аналогичны соответствующим операторам из математики.
Логические операторы
Существует два логических оператора. Оператор «И», обозначающийся
значками «&&» и оператор «ИЛИ», обозначенный в виде двух прямых слэшей
«||». Например, имеется выражение:
А*В && В*С;
В том случае, если только обе части выражения истинны, значение выражения
считается истинным. Если одна из частей неверна, то значение всего
выражения будет ложным.
В противовес оператору «&&» имеется оператор «||», не напрасно имеющий
название «ИЛИ».
А*В || В*С;
Если любая из частей выражения истинна, то и все выражение считается
истинным. Оба оператора можно комбинировать в одном выражении,
например,
A*B || B*C && C*D || B*A;
С помощью этого выражения я вас ввел, как мне кажется, в затруднение,
неправда ли? Дело в том, что в Java, как и в математике существует приоритет
или так называемая иерархия операторов, с помощью которой определяется
какой из операторов главнее, а, следовательно, и проверяется первым.
Рассмотрим с помощью списка приоритет всех имеющихся операторов языка
Java:
[], ., (),
!, ~, ++, – –, + (унарный), – (унарный), new,
*, /, %,
+, –,
<<, >>, >>>,
<, <=, >, >=,
= =, !=,
&, ^, |,
&&,
||,
?:,
=, +=, –=, *=, /=, %=, |=, ^=, <<=, >>=, >>>=.
Ассоциативность операторов в списке следует слева направо и сверху вниз. То
есть все, что находится левее и выше – старше по званию и главнее.
1.6 Основы Базы Данных:
Одним из важнейших понятий в теории баз данных является понятие
информации. Под информацией понимаются любые сведения о каком-либо
событии, процессе, объекте.
Данные — это информация, представленная в определенном виде,
позволяющем автоматизировать ее сбор, хранение и дальнейшую обработку
человеком или информационным средством. Для компьютерных технологий
данные — это информация в дискретном, фиксированном виде, удобная для
хранения, обработки на ЭВМ, а также для передачи по каналам связи.
База данных (БД) — именованная совокупность данных, отражающая
состояние объектов и их отношений в рассматриваемой предметной области,
или иначе БД — это совокупность взаимосвязанных данных при такой
минимальной избыточности, которая допускает их использование
оптимальным образом для одного или нескольких приложений в
определенной предметной области. БД состоит из множества связанных
файлов.
Система управления базами данных (СУБД) — совокупность языковых
и программных средств, предназначенных для создания, ведения и
совместного использования БД многими пользователями.
Автоматизированная информационная система (АИС) — это система,
реализующая автоматизированный сбор, обработку, манипулирование
данными, функционирующая на основе ЭВМ и других технических средств и
включающая соответствующее программное обеспечение (ПО) и персонал. В
дальнейшем в этом качестве будет использоваться термин информационная
система (ИС), который подразумевает понятие автоматизированная.
Каждая ИС в зависимости от ее назначения имеет дело с той или иной
частью реального мира, которую принято называть предметной областью
(ПрО) системы. Выявление ПрО — это необходимый начальный этап
разработки любой ИС. Именно на этом этапе определяются информационные
потребности всей совокупности пользователей будущей системы, которые, в
свою очередь, предопределяют содержание ее базы данных.
Отдельные программы или комплекс программ, реализующие
автоматизацию решения прикладных задач обработки данных, называются
приложениями. Приложения, созданные средствами СУБД, относят к
приложениям СУБД. Приложения, созданные вне среды СУБД с помощью
систем программирования, использующих средства доступа к БД, к примеру,
Delphi или Visual Studio, называют внешними приложениями.
1.7 Модели представления данных
Модель – способ структурирования данных, описания взаимосвязей
между данными.
Очевидные требования к модели:
• Модель должна быть достаточно универсальной, позволяя работать с
данными различной структуры и сложности.
• Модель должна допускать автоматическую обработку данных, т.е.
должна быть реализуема программными средствами.
• Модель должна быть наглядной, «прозрачной». Поскольку задача
описания структуры данных средствами выбранной модели возлагается на
разработчика (человека), чем сложнее модель – тем труднее избежать
ошибок при проектировании.
Ниже перечислены основные разновидности моделей представления
данных, используемых или использовавшихся в прошлом.
Иерархическая модель. Модель (как видно из названия) представляет
данные в виде иерархии. Модель ориентирована на описание
объектов, находящихся между собой в отношении подчинения. Например,
структура кадров некоторой организации. Организация состоит из отделов,
каждый отдел имеет руководителя и сотрудников. Другой пример: объект
«колесо» является составной частью объекта «автомобиль». Между
автомобилем и колесом имеется связь, смысл которой можно озвучить
следующим образом: объект «автомобиль» включает в себя несколько
объектов «колесо».
Сетевая модель. Сетевая модель представляет собой развитие
иерархической. Модель позволяет описывать более сложные виды
взаимоотношений между данными. Однако расширение возможностей
достигается за счет большей сложности реализации самой модели и
трудности манипулирования данными.
Реляционная модель. В реляционной модели данные
представляются в виде таблиц, состоящих из строк и столбцов. Каждая
строка таблицы – информация об одном конкретном объекте, столбцы
содержат свойства этого объекта. Взаимоотношения между объектами
задаются с помощью связей между столбцами таблиц. Реляционная модель
на сегодняшний день наиболее распространена. Она достаточно
универсальна и проста в проектировании.
Объектная модель. В этой модели данные представляются в форме
объектов. Объект имеет набор свойств, называемых атрибутами, и может
включать в себя также процедуры для обработки данных, которые называют
методами.
Объекты, имеющие одинаковые наборы атрибутов и различающиеся
только их значениями, образуют некоторый класс объектов. Например, класс
«клиент» может иметь следующие атрибуты: «фамилия», «имя», «отчество»,
«номер кредитной карты». Для каждого объекта из этого класса определены
конкретные значения перечисленных атрибутов. Говорят, что объект
является экземпляром класса. На основе существующего класса могут
создаваться новые, наследующие свойства исходного. При этом исходный
класс именуется родителем нового класса. Производный класс называют
потомком исходного. При этом объекты – экземпляры класса-потомка
принадлежат также и родительскому классу, поскольку обладают всеми его
атрибутами. Пример: на основе класса «клиент» может быть определен класс
«постоянный клиент». Новый класс наследует атрибуты родительского и при
этом добавляется новый атрибут – «процент скидки». Все постоянные
клиенты продолжают оставаться клиентами в прежнем понимании, но о них
имеется еще и дополнительная информация. В настоящее время не
существует единого подхода к реализации объектных баз данных.
Гибридные модели. В некоторых приложениях предпринимаются
попытки смешения различных моделей представления данных. Пример
такого смешения – объектно-реляционная модель. В ней использовано
некоторое сходство между реляционной и объектной идеологией. Строки
таблиц реляционной модели соответствуют объектам объектной модели,
столбцы таблиц – атрибутам объектов. Таблицы в целом являются аналогом
классов. Отсюда вытекает возможность введения наследования при
определении таблиц – таблица-потомок содержит те же столбцы, что и
родительская, и, кроме того – дополнительные, определенные при
наследовании. По идее создателей, объектно-реляционная модель должна
унаследовать от реляционной легкость описания и манипулирования
данными, а от объектной – возможность определения более сложных
взаимоотношений между объектами.
Реляционные базы данных
Базы данных, хранение информации в которых основано на
реляционной модели, называют реляционными базами данных. Как было
сказано ранее, реляционная модель предполагает организацию данных в виде
таблиц. Строки таблиц называют записями или кортежами, столбцы –
полями или атрибутами.
Поле таблицы, значения которого гарантированно уникальны для каждой
записи
этой таблицы, называют ключевым полем или ключом. Ключ не
обязательно должен быть числовым. Иногда уникальным идентификатором
может служить не одно поле, а комбинация полей. При этом сочетание
значений этих полей должно быть уникальным. Такие поля образуют
составной ключ таблицы.
Современное состояние технологий баз данных
Кратко сформулируем основные современные принципы организации
баз данных.
Значительная часть современных СУБД способна работать на
компьютерах различной архитектуры под управлением разных
операционных систем.
Подавляющее большинство современных СУБД обеспечивают
поддержку полной реляционной модели данных, обеспечивая целостность
категорий и целостность на уровне ссылок.
Современные СУБД для определения данных и манипуляции ими
опираются на принятые стандарты в области языков, а при обмене данными
между различными СУБД базируются на существующих технологиях по
обмену информацией.
Многие существующие СУБД относятся к так называемым сетевым
СУБД, которые предназначены для поддержки многопользовательского
режима работы с базой данных и поддержки возможности
децентрализованного хранения данных.
Такие СУБД имеют развитые средства администрирования баз
данных и средства защиты, хранимой в них информации.
Подобные СУБД имеют средства подключения клиентских
приложений.
Современные СУБД характеризуются опытами применения
концепции фундаментальной идеи объектно-ориентированного подхода,
способствующей повышению уровня абстракции баз данных, являющейся
перспективным этапом на пути развития технологий баз данных.
Информационные системы, созданные средствами технологии баз
данных, иногда принято называть банками данных (БнД). БнД включает в
себя:
- одну или несколько БД;
СУБД;
- словарь или каталог данных;
- администратора (АБД);
- вычислительную систему (ВС), включающую аппаратные (АС) и
- программные (ПС) средства;
- обслуживающий персонал (ОП)
СУБД — это программное
обеспечение, с помощью которого пользователи могут определять, создавать
и поддерживать базу данных, а также осуществлять к ней контролируемый
доступ.
По степени универсальности различаются два класса СУБД — системы
общего назначения и специализированные системы.
СУБД общего назначения не ориентированы на какую-либо конкретную
предметную область или на информационные потребности конкретной
группы пользователей. Каждая система такого рода реализуется как
программный продукт, способный функционировать на некоторой модели
ЭВМ в определенной операционной обстановке. СУБД общего назначения
обладает средствами настройки на работу с конкретной БД в условиях
конкретного применения.
В некоторых ситуациях СУБД общего назначения не позволяют
добиться требуемых проектных и эксплуатационных характеристик
(производительность, занимаемый объем памяти и прочее). Тем не менее
создание специализированных СУБД весьма трудоемкий процесс и для того,
чтобы его реализовать, нужны очень веские основания.
В процессе реализации своих функций СУБД постоянно
взаимодействует с базой данных и с другими прикладными программными
продуктами пользователя, предназначенными для работы с данной БД и
называемыми приложениями.
Для того чтобы СУБД успешно справлялась со своими задачами, она
должна обладать определенными возможностями.
Можно дать следующую обобщенную характеристику возможностям
современных СУБД.
1. СУБД включает язык определения данных, с помощью которого
можно определить базу данных, ее структуру, типы данных, а также средства
задания ограничений для хранимой информации. В многопользовательском
варианте СУБД этот язык позволяет формировать представления как
некоторое подмножество базы данных, с поддержкой которых пользователь
может создавать свой взгляд на хранимые данные, обеспечивать
дополнительный уровень безопасности данных и многое другое.
2. СУБД позволяет вставлять, удалять, обновлять и извлекать
информацию из базы данных посредством языка управления данными.
3. Большинство СУБД могут работать на компьютерах с разной
архитектурой и под разными операционными системами, причем на работу
пользователя при доступе к данным практически тип платформы влияния не
оказывает.
4. Многопользовательские СУБД имеют достаточно развитые средства
администрирования БД.
5. СУБД предоставляет контролируемый доступ к базе данных с
помощью:
- системы обеспечения безопасности, предотвращающей
- несанкционированный доступ к информации базы данных;
- системы поддержки целостности базы данных, обеспечивающей
- непротиворечивое состояние хранимых данных;
- системы управления параллельной работой приложений,
- контролирующей процессы их совместного доступа к базе данных;
- системы восстановления, позволяющей восстановить базу данных
- до предыдущего непротиворечивого состояния, нарушенного в
результате
- аппаратного или программного обеспечения.
ГЛАВА 2. ПРАКТИЧЕСКАЯ ЧАСТЬ
2.1 Анализ темы курсовой:
Организация производства представляет собой вид деятельности людей,
направленный на соединение всех элементов производственного процесса в
единый процесс, обеспечение их рационального сочетания и взаимодействия
в целях достижения социальной и экономической эффективности
производства. Компьютерная производства является одним из важного
направления производства, потому что щас все управляется компьютерами,
роботами.
Моя цель создавать программу который вводим данные уже
произведенного компьютера и сохранить эти данные в базе данных. Для
написания кода я использую программу Eclipse IDE for Java developers. А для
создания базы данных буду использовать программу MySQL Workbench.
Я должен разрабатывать программу который содержит поле для ввода марки,
модели и типа компьютера. А также кнопка для сохранения этих данных.
Также внизу должен создать большое поле, в котором визуально увидем
введенные марки модели и типы компьютеров. Рядом этим большим полем
должен стоять две кнопки удалить и изменить. Если мы захочем изменить
какой-то модель или тип компьютера и т.д., то мы нажимаем на эту кнопку и
изменяем. И кнопка удалить для удаления данных в программе.
Подключаем графический интерфейс awt:
Abstract Window Toolkit (AWT) – это инструментарий классов в Java, который
помогает программисту разрабатывать компоненты графического и
графического интерфейса пользователя. Он является частью JFC (Java
Foundation Classes), разработанной Sun Microsystems.
AWT API в Java в основном состоит из полного набора классов и методов,
которые необходимы для упрощенного создания и управления графическим
интерфейсом пользователя (GUI). Он был разработан для предоставления
общего набора инструментов для проектирования кроссплатформенных
графических интерфейсов.
Одной из важных особенностей AWT является то, что он зависит от
платформы. Это означает, что инструменты AWT используют нативные
наборы инструментов платформ, которые они внедряют.
2.2 Код программы:
Внутри редактора Eclipse IDE for Java developers entify, которое буду внутри
этой папки создавать файлы для написания кода Computer, ComputerCompany
и ComputerType.
Код Computer.java
Класс – логическое описание чего-либо, шаблон, с помощью которого можно
создавать реальные экземпляры этого самого чего-либо. Другими словами, это
просто описание того, какими должны быть созданные сущности: какими
свойствами и методами должны обладать.
Свойства – характеристики сущности, методы – действия, которые она может
выполнять. Хорошим примером класса из реальной жизни, дающим
понимание, что же такое класс, можно считать чертежи: чертежи
используются для описания конструкций (катапульта, отвертка), но чертеж –
это не конструкция. Инженеры используют чертежи, чтобы создавать
конструкции, так и в программировании классы используются для того, чтобы
создавать объекты, обладающие описанными свойствами и методами.
Класс String в Java предназначен для работы со строками в Java. Здесь я задал
класс string потому что моя тип данных строка. Класс String в Java — это final
класс, который не может иметь потомков.
Класс String — immutable класс, то есть его объекты не могут быть изменены
после создания. Любые операции над объектом String, результатом которых
должен быть объект класса String, приведут к созданию нового объекта.
Благодаря своей неизменности, объекты класса String являются поток
безопасными и могут быть использованы в многопоточной среде.
А также я использовал класс Boolean. Переменные этого типа могут
принимать всего два значения – true (истина/правда) и false (ложь)
Код ComputerCompany:
Private, protected, default (package visible), public они являются
Модификаторами доступа. Модификаторы доступа — это чаще всего
ключевые слова, которые регулируют уровень доступа к разным частям твоего
кода.
Private — наиболее строгий модификатор доступа. Он ограничивает
видимость данных и методов пределами одного класса.
Части кода, помеченные модификатором public, предназначаются для
конечного пользователя.
Поля и методы, обозначенные модификатором доступа protected, будут видны:
 в пределах всех классов, находящихся в том же пакете, что и наш;
 в пределах всех классов-наследников нашего класса.
Код ComputerType:
Методы могут возвращать некоторое значение. Для этого применяется
оператор return. После оператора return указывается возвращаемое значение,
которое является результатом метода. Это может быть литеральное значение,
значение переменной или какого-то сложного выражения.
JFrame - это Java-класс, который расширяется классом Frame Java. JFrame
рассматривается как главное окно. В JFrame могут быть добавлены различные
элементы, такие как метки, текстовые поля, кнопки. Эти элементы в JFrame
создают графический интерфейс пользователя.
Класс JFrame предоставляет некоторые методы, которые играют важную роль
в работе с JFrame.
Компонент JLabel представляет собой метку, которая используется для
отображения информации. Как правило, содержимое, отображаемое
устройством, не может быть изменено напрямую. Созданный объект Label
можно добавить в контейнер с помощью метода add () в классе Container.
С помощью JLabel можно показать текст с иконкой. Если нужен какой-то
компонент, чтобы отобразить какое-то сообщение пользователю или сделать
для поля ввода текстовую метку, или показать иконку — используем JLabel.
Текст, который показывает JLabel выделять нельзя, только смотреть.
То есть здесь я говорю, что если мы сохраним наши данные, то пусть, выйдет
окно успешная операция, а если сделаем что-то неправильно, то пусть выйдет
окно ошибка.
То есть если мы что-то изменим и нажмем на кнопку обновить наши данные в
полях обновляются.
Если нажимаем на кнопку удалить, не выбрав объект, который хотим удалить
у нас должен выдаст ошибка, а если выберем объект и нажмем на кнопку
удалить, то удаляется выбранный объект.
Если в полях ввода ничего не напишем, то выйдет окно ошибка.
2.3 Программа выглядит следующим образом:
2.4 Создание Базы Данных для программы
Для того чтобы хранить эти данные я создаю баз данных с кодировкой utf-8.
Называю базу данных как production.
Внутри базы данных создаю таблицы computer, computer_company и
computer_type.
Данные который мы отправляем будут хранятся в таблице computer.
Столбцы таблицы computer:
Столбцы таблицы computer_company:
Столбцы таблицы computer_type:
2.5 Теперь подключаю Java к Базе данных:
Сперва подключаю Java к таблице computer_company
Подключаю Java к таблице computer:
Как правило, в Java классы объединяются в пакеты. Пакеты позволяют
организовать классы логически в наборы. По умолчанию java уже имеет ряд
встроенных пакетов, например, java.lang, java.util, java.io и т.д. Кроме того,
пакеты могут иметь вложенные пакеты.
Организация классов в виде пакетов позволяет избежать конфликта имен
между классами. Ведь нередки ситуации, когда разработчики называют свои
классы одинаковыми именами. Принадлежность к пакету позволяет
гарантировать однозначность имен.
Чтобы указать, что класс принадлежит определенному пакету, надо
использовать директиву package, после которой указывается имя пакета:
package название_пакета;
Классы необязательно определять в пакеты. Если для класса пакет не
определен, то считается, что данный класс находится в пакете по умолчанию,
который не имеет имени.
Вот у меня например package service
Блок catch
В нем вы обрабатываете исключения, этот блок должен следовать за блоком
try. С одним блоком try может быть связано несколько блоков catch. Вы
можете ловить разные исключения в разных блоках catch. Когда в try
возникает исключение, выполняется соответствующий catch, который
обрабатывает это конкретное исключение.
Класс Integer — это класс-обертка примитивного типа int. Внутри данного
класса содержится единственное поле типа int.
Будучи классом оберткой, Integer предоставляет различные методы для
работы с int, а также ряд методов для преобразования int в String и String в int.
Подключаю Java к таблице computer_type:
2.6 Проверка программы:
Эти данные отправляются в базу данных. Наши данные который написали в
программе сохранились в базе данных production в таблице computer.
company_name 5 потому что я выбрал фирму acer, а acer в таблице
computer_company 5 по списку. И computer_type 4 потому что я выбрал laptop,
laptop в таблице computer_type 4 по списку.
А если удалим эти данные из программы то они удаляются и из базы данных:
Вот удалил из программы
И из базы данных удалился
Результаты
Исследование предметной области, безусловно, является важным для каждой
сферы деятельности, особенно в том случае, если предметную область нужно
проанализировать и выявить недостатки для их устранения.
Разработанная модель предметной области отвечает всем требованиям
работы. Она является наглядным представлением описания данной
предметной области. На создание информационных систем, приобретение и
внедрение их элементов требуются значительные материальные, временные и
трудовые ресурсы. Однако, информационные системы и информационные
технологии представляют собой мощный ресурс, использование которого в
деятельности организации является экономически выгодным, эффективным и
необходимым для нормального функционирования. Для того чтобы создать
эту программу мне понадобились следующие знания:
-
Знания сферы производства
Знания объектно-ориентированного программирования
Работа с языком Джава
СУБД
Созданная программа обладает легким интерфейсом и нужным
функционалом, который является самым важным для любой программы.
На основе анализа были сформулированы основные требования
производства компьютеров разрабатываемой предметной области. В
модели базы данных чётко отображается предметная область фирмы, марки
и типа компьютера. В ней определены объекты предметной области,
атрибуты, их свойства и связи между ними.
Приложение
Computer.Java
package entity;
import java.util.Objects;
public class Computer {
private Integer cId;
private String cName;
private ComputerCompany companyName;
private ComputerType computerType;
public Computer(String name, ComputerCompany
ComputerType computerType) {
this.cName = name;
this.companyName = companyName;
this.computerType = computerType;
}
@Override
public String toString() {
return "Computer{" +
"cId=" + cId +
", name='" + cName + '\'' +
", company_name='" + companyName + '\'' +
", computerType=" + computerType +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Computer computer = (Computer) o;
boolean equals = Objects.equals(cId, computer.cId);
return equals;
}
@Override
public int hashCode() {
return Objects.hash(cId);
}
public Integer getcId() {
return cId;
}
companyName,
public void setcId(Integer cId) {
this.cId = cId;
}
public String getcName() {
return cName;
}
public void setcName(String cName) {
this.cName = cName;
}
public ComputerCompany getCompanyName() {
return companyName;
}
public void setCompanyName(ComputerCompany companyName) {
this.companyName = companyName;
}
public ComputerType getComputerType() {
return computerType;
}
public void setComputerType(ComputerType computerType) {
this.computerType = computerType;
}
}
ComputerCompany.java
package entity;
import java.util.Objects;
public class Computer {
private Integer cId;
private String cName;
private ComputerCompany companyName;
private ComputerType computerType;
public Computer(String name, ComputerCompany
ComputerType computerType) {
this.cName = name;
this.companyName = companyName;
this.computerType = computerType;
}
@Override
public String toString() {
return "Computer{" +
"cId=" + cId +
", name='" + cName + '\'' +
companyName,
", company_name='" + companyName + '\'' +
", computerType=" + computerType +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Computer computer = (Computer) o;
boolean equals = Objects.equals(cId, computer.cId);
return equals;
}
@Override
public int hashCode() {
return Objects.hash(cId);
}
public Integer getcId() {
return cId;
}
public void setcId(Integer cId) {
this.cId = cId;
}
public String getcName() {
return cName;
}
public void setcName(String cName) {
this.cName = cName;
}
public ComputerCompany getCompanyName() {
return companyName;
}
public void setCompanyName(ComputerCompany companyName) {
this.companyName = companyName;
}
public ComputerType getComputerType() {
return computerType;
}
public void setComputerType(ComputerType computerType) {
this.computerType = computerType;
}}
ComputerType.java
package entity;
import java.util.Objects;
public class ComputerType {
private Integer ctId;
private String ctType;
public ComputerType(String ctType) {
this.ctType = ctType;
}
@Override
public String toString() {
return "ComputerType{" +
"ctId=" + ctId +
", ctType='" + ctType + '\'' +
'}';
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ComputerType that = (ComputerType) o;
return Objects.equals(ctId, that.ctId);
}
@Override
public int hashCode() {
return Objects.hash(ctId);
}
public Integer getCtId() {
return ctId;
}
public void setCtId(Integer ctId) {
this.ctId = ctId;
}
public String getCtType() {
return ctType;
}
public void setCtType(String ctType) {
this.ctType = ctType;
}
}
MainPanel.java
package view;
import java.awt.EventQueue;
import javax.swing.JFrame;
import javax.swing.JTextPane;
import entity.Computer;
import entity.ComputerCompany;
import entity.ComputerType;
import service.ComputerCompanyService;
import service.ComputerService;
import service.ComputerTypeService;
import javax.swing.*;
import java.awt.event.ActionListener;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
import java.awt.event.ActionEvent;
import javax.swing.table.DefaultTableModel;
import javax.swing.border.LineBorder;
import java.awt.Color;
public class MainPanel {
private JFrame frame;
private JTextField cNameTxt;
private JTable table;
private DefaultTableModel model = new DefaultTableModel();
Object[] columns = {"Номер","Модель","Фирма","Тип"};
Object[] rows = new Object[4];
/**
* Launch the application.
*/
public static void main(String[] args) {
System.out.println();
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MainPanel window = new MainPanel();
window.frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}
/**
* Create the application.
*/
public MainPanel() {
initialize();
}
/**
* Initialize the contents of the frame.
*/
private void initialize() {
int i = 0;
final ComputerService cs = new ComputerService();
final ComputerTypeService cts = new ComputerTypeService();
final
ComputerCompanyService
ccs
=
ComputerCompanyService();
frame = new JFrame();
frame.setBounds(100, 100, 797, 542);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().setLayout(null);
JLabel
cNameLbl
=
JLabel("\u041C\u043E\u0434\u0435\u043B\u044C");
cNameLbl.setBounds(10, 10, 95, 13);
frame.getContentPane().add(cNameLbl);
JLabel
companyLbl
=
JLabel("\u0424\u0438\u0440\u043C\u0430");
companyLbl.setBounds(182, 9, 45, 13);
frame.getContentPane().add(companyLbl);
JLabel typeLbl = new JLabel("\u0422\u0438\u043F");
typeLbl.setBounds(352, 10, 45, 13);
frame.getContentPane().add(typeLbl);}
Список Литературы
new
new
new
1) https://infourok.ru/tematicheskiy-urokkonferenciya-na-temuobektnoorientirovannoe-programmirovanie-2144685.html
2) https://checkroi.ru/blog/stoit-li-uchit-java/
3) https://help-stud.ru/ref_istoriya_razvitiya_pk.php
4) https://knowledge.allbest.ru/programming/2c0b65625a3ac68a4d43b8952130
6c36_0.html
5) https://gb.ru/blog/yazyk-programmirovaniya-java/
6) https://znanija.com/task/28138886
7) https://ru.hexlet.io/blog/posts/yazyk-programmirovaniya-java-osobennostipopulyarnost-situatsiya-na-rynke-truda
8) https://habr.com/ru/sandbox/28779/
Download