
- •Н. В. Зорина Объектно-ориентированное программирование на Java
- •Зорина н.В.
- •Введение в разработку программ на языке программирования java
- •Установка по
- •Начало работы с программой
- •Классы, как новые типы данных. Поля данных и методы
- •Определениекласса.
- •Конвенция кода для класса (Class Naming Convention).
- •Создание экземпляровкласса
- •Операция получения доступа к компонентамкласса.
- •Переменные - поля данныхкласса
- •Методыкласса
- •Теперь соберем все вместе: ПримерОоп
- •Конструкторы
- •Перегрузкаметодов
- •Модификаторы контроля доступа- public илиprivate.
- •Информация по сокрытию реализации иинкапсуляции.
- •Код программы:
- •Практическая работа №2. Использование uml диаграмм в объектно- ориентированном программировании
- •Теоретические сведения:
- •Упражнение 1.
- •Упражнение 2.
- •Пример выполнения задания.
- •Практическая работа №3. Наследование. Абстрактные суперклассы и их подклассы в java.
- •Теоретические сведения
- •Задания.
- •Упражнение 2.
- •Упражнение 3.
- •Упражнение 4.
- •Упражнение 5.
- •Пример решения задания 1.
- •Практическая работа №4. Создание gui. Событийное программирование в java.
- •Теоретические сведения
- •Важная замечание
- •Замечание.
- •Менеджеры компоновки компонентов или Layout Менеджеры. Менеджер BorderLayout:
- •Менеджер GridLayout.
- •Менеджер Null Layout Manager.
- •Слушатель событий мыши MouseListener.
- •Создание меню.
- •Упражнение1.
- •Практическая работа №5. Программирование рекурсии в java
- •Теоретические сведения
- •Задания.
- •Пример решения задачи.
- •Практическая работа №6. Техники сортировки в java
- •Теоретические сведения
- •Алгоритм сортировки вставками.
- •Алгоритм быстрой сортировки (Quick Sort).
- •Алгоритм сортировка слиянием (Merge Sort).
- •Использование полиморфизма в сортировке.
- •Упражнение 1.
- •Упражнение 2.
- •Упражнение 3.
- •Практическая работа №7. Использование стандартных контейнерных классов при программировании на java
- •Теоретические сведения
- •Задания.
- •Приложение Горячие клавиши Intellij idea (hot keys)
- •Редактирование
- •Поиск /замена
- •Поиск Использованиякода
- •Компиляция ивыполнение
- •Отладка
- •Навигация
- •Рефакторинг
- •Интерактивныешаблоны
- •Объектно-ориентированное программирование на Java
Пример решения задачи.
Задание: найти точную степень двойки. Дано натуральное число N. ВыведитесловоYES,есличислоNявляетсяточнойстепеньюдвойки,илислово NO в противном случае.
Решение:
public class Rec1 {
public static int recursion(double n){if (n == 1){
return1;
}
else if (n > 1 && n < 2){return0;
}
else {
return recursion(n / 2);
}
}
public static void main(String[] args) { double n = 64;
if (recursion(n) == 1) { System.out.println("Yes");
} else {
System.out.println("No");
}
}
}
Практическая работа №6. Техники сортировки в java
Цель работы:освоение на практике методов сортировки с использованием приемов программирования на объектно-ориентированном языке Java.
Теоретические сведения
Сортировка — это процесс упорядочивания списка элементов (организация в определенном порядке) исходного списка элементов, который возможно организован в виде контейнера или храниться в виде коллекции.
Процесс сортировки основан на упорядочивании конкретных значений, например:
сортировка списка результатов экзаменов баллов в порядке возрастания результата;
сортировка списка людей в алфавитном порядке пофамилии.
Есть много алгоритмовдля сортировки списка элементов, которые различаются поэффективности.
Алгоритм сортировки вставками.
Работа метода сортировки состоит из следующих шагов:
выбрать любой элемент из списка элементов и вставить его в надлежащее место в отсортированныйподсписок;
повторять предыдущий шаг, до тех пор, пока все элементы не будут вставлены.
Более детально:
рассматриваем первый элемент списка как отсортированный подсписок (то есть первый элементсписка);
вставим второй элемент в отсортированный подсписок, сдвигая первый элемент по мере необходимости, чтобы освободить место для вставки новогоэлемента;
вставим третий элемент в отсортированный подсписок (из двух элементов), сдвигая элементы по меренеобходимости;
повторяем до тех пор, пока все значения не будут вставлены на свои соответствующиепозиции.
Алгоритм быстрой сортировки (Quick Sort).
Состоит из последовательного выполнения двух шагов:
массив A[1..n] разбивается на два непустых подмассивов по отношению к "опорномуэлементу”;
два подмассива сортируются рекурсивно посредством QuickSort.
Алгоритм сортировка слиянием (Merge Sort).
Состоит из последовательного выполнения трех шагов:
разделить массив A[1..n] на 2 равныечасти;
провести сортировку слиянием двух подмассивов(рекурсивно);
объединить (соединить) два отсортированныхподмассива.
Использование полиморфизма в сортировке.
Техника программирования сортировок в Java отличается от написания алгоритмов на процедурных языках программирования. При написании кода большим преимуществом является использование основного принципа ООП – полиморфизма. Напомним, что класс, который реализует интерфейс Comparable определяетметодcompareTo(),чтобыопределитьотносительныйпорядоксвоих объектов.
Таким образом мы можем использовать полиморфизм, чтобы разработать обобщенную сортировку для любого набора Comparable объектов.
При разработке класса, реализующего метод сортировки, нужно помнить, чтометодпринимаетвкачествепараметрамассивобъектовтипаComparableили фактически полиморфныхссылок.
Таким образом, один метод может быть использован для сортировки любыхобъектов,например:People(людей),Books(книг),илилюбойкаких-либо другихобъектов.
Методу сортировки все-равно, что именно он будет сортировать, ему только необходимо иметь возможность вызвать метод compareTo().
Это обеспечивается использованием в качестве типа формального параметра интерфейса Comparable или интерфейсной ссылки.
Кроме того, таким образом каждый класс “для себя” решает, что означает для одного объекта, быть меньше, чем другой.