Самостоятельная работа Java 30. Методические указания студентам по выполнению самостоятельнойкурсовой работы
Скачать 153.8 Kb.
|
Реализация выполнения методов обработки данных Class1/ Class2Код, обеспечивающий выполнение функции-метода 1 обработки данных класса-родителя связываем с обработчиком события для кнопки "Увеличить оклад" ( JButtonIncSalary). private void jButtonIncSalaryActionPerformed(java.awt.event.ActionEvent evt) { setPerson(); for (int i = 0; i < personList.size(); i++) { personList.get(i).incSalary(); } getPerson(); } Здесь выполняется следующее: Выполняется метод setPerson для копирования в поля текущего объекта данных из текстовых полей формы. В цикле для каждого элемента списка выполняем метод incSalary (Увеличить оклад) Выполняется метод getPerson, чтобы показать измененный оклад Выполнение функции-метода 2 обработки данных класса-родителя связываем с обработчиком события для кнопки "Иван в инженеры" (JButtonPosition2Engieer) private void jButtonPosition2EngineerActionPerformed(java.awt.event.ActionEvent evt) { for (int i = 0; i < personList.size(); i++) { if (personList.get(i).name.toUpperCase().startsWith("ИВАН")) { personList.get(i).position2Engieer(); } } getPerson(); } Особенностью здесь является то, что вызов метода position2Engieer выполняется только тогда, когда фамилия работника начинается с сочетания букв «иван». Чтобы результат не зависел от регистра написания фамилии, преобразуем поле name к верхнему регистру. Функция-метод обработки данных объекта класса-потомка выполняется при помощи обработчика события для кнопки "Увеличить оклад по рейтингу" (JbuttonChngRating). В цикле для каждого элемента списка выполняем метод chngSalary (Изменить оклад работника в зависимости от его рейтинга) private void jButtonChngRatingActionPerformed(java.awt.event.ActionEvent evt) { setPerson(); for (int i = 0; i < personList.size(); i++) { personList.get(i).chngSalary(); } getPerson(); } Тестирование приложенияПриведем последовательность действий по тестированию спроектированного приложения. Чтобы запустить приложение, нажмите по проекту правой кнопкой мыши и выберите "Запустить проект " из контекстного меню или нажмите на кнопку Создаем и помещаем в список последовательно три экземпляра «Работник» (Class2), т.е . нажимаем на кнопку "Работник", после чего заполняем все поля на форме. Поля были заполнены так: 1й работник Фамилия - Иванов Должность - Техник Оклад- 10000 Рейтинг - 70 2й работник Фамилия - Петров Должность - Техник Оклад- 10000 Рейтинг – 80 3й работник Фамилия - Сидоров Должность - Техник Оклад- 10000 Рейтинг - 90 Просмотреть все поля всех объектов можно пролистывая список при помощи счетчика jSpinnerCrn. Теперь протестируем методы спроектированного класса. Метод incSalary – нажимаем на кнопку " Увеличить оклад" - сразу после этого оклад у всех работников увеличится на15%, т.е. мы увидим что оклад после применения метода incSalary будет 11500. Метод position2Engieer– нажимаем на кнопку "Иван в инженеры". Метод position2Engieer будет выполнен для 1-го работника с фамилией Иванов. После выполнения position2Engieer в поле «Должность» будет записано «Инженер» Метод chngSalary – нажимаем на кнопку "Увеличить оклад по рейтингу". Метод chngSalary будет выполнен для всех объектов из списка. Оклад будет изменен в зависимости от поля «Рейтинг». В результате объекты в списке будут иметь следующий вид. 1й работник Фамилия - Иванов Должность - Инженер Оклад- 13800 Рейтинг - 70 2й работник Фамилия - Петров Должность - Техник Оклад- 16100 Рейтинг – 80 3й работник Фамилия - Сидоров Должность - Техник Оклад- 18400 Рейтинг - 90 |