Содержание
- 2. Содержание Высокоуровневые методы информатики и программирования 2. Технология Java. Классы и объекты Обзор технологии Java Классы
- 3. Лекция 1 Высокоуровневые методы информатики и программирования
- 4. Программирование Программирование – технология создания программ. Программа представляет собой набор инструкций процессора. Чем выше уровень языка,
- 5. Парадигмы программирования некоторые методы и стили, которые становятся общепринятыми на некоторое время. Первые программы, написанные в
- 6. Объектно-ориентированное программирование (ООП) технология создания сложного программного обеспечения, основанная на представлении программы в виде совокупности объектов,
- 7. Этапы разработки ПО: Постановка задачи Анализ предметной области задачи; Проектирование системы; Реализация системы; Модификация.
- 8. Анализ предметной области Цель: Максимально полное описание задачи. Выполняется: Объектная декомпозиция системы Основные особенности поведения объектов
- 9. Проектирование системы Логическое проектирование: разработка структуры классов (поля, методы). Результат: диаграмма классов, отражающая структуру классов и
- 10. Проектирование системы Результат: Модель проектируемой системы, которая отображает только важные для поставленной задачи черты, а остальные
- 11. Эволюция (реализация) системы – процесс поэтапной реализации классов и подключения объектов к системе. Абстракция; Инкапсуляция; Наследование;
- 12. Объектно-ориентированные языки программирования Язык программирования (алгоритмический язык) – это набор правил, определяющих, какие последовательности символов составляют
- 13. Объектно-ориентированные языки программирования Объектно-ориентированные языки содержат конструкции, позволяющие определять объекты, принадлежащие классам и обладающие свойствами: –
- 14. Объектно-ориентированные языки программирования Объектно-ориентированные языки можно разделить на три группы: чистые: Simula (1962); Smaltalk (1972); Beta
- 15. Лекции 2-3 Технология Java Классы и объекты
- 16. ОБЗОР ТЕХНОЛОГИИ JAVA
- 17. Язык Java Язык программирования Java – язык программирования высокого уровня, обладающий характеристиками: Подробнее: http://java.sun.com/docs/white/langenv/
- 18. Платформа Java Платформа – окружение из аппаратного или программного обеспечения, в котором выполняется программа. В большинстве
- 19. Платформа Java http://download.oracle.com/javase/tutorial/getStarted/intro/definition.html
- 20. Создание и выполнение Java-программ: http://download.oracle.com/javase/tutorial/getStarted/intro/definition.html
- 21. Переносимость Java-программ http://download.oracle.com/javase/tutorial/getStarted/intro/definition.html
- 22. Почему Java? 1. Одна программа может быть запущена на различных компьютерах с различными платформами. Программы на
- 23. Пример
- 24. Пример
- 25. Пример
- 26. История возникновения Java
- 27. Особенности Java
- 28. Три основных шага в программировании Написать программу на Java и сохранить ее на диск. Выполнить компиляцию
- 29. Три основных шага в программировании Ввод текста программы – любой текстовый редактор. Сохранить ее на диск
- 30. Три основных шага в программировании Компиляция программы, чтобы перевести ее с языка Java в специальный байт-код.
- 31. Три основных шага в программировании Запуск программы.
- 32. Интегрированная среда разработки Eclipse IDE 1. Чтобы создать новый проект в Eclipse, выберите следующие пункты меню:
- 33. Создание программ в Eclipse IDE 1. Программа в Java – это класс. В Eclipse, выберите следующие
- 34. Как начать работу? здесь мы набираем программу сообщения об ошибках Новый Сохранить
- 35. КЛАССЫ И ОБЪЕКТЫ
- 36. Классы основные строительные элементы Java-программы. // заголовок класса class MyClass { //тело класса: // поля, конструкторы
- 37. Заголовок класса Модификатор управления доступом (public, protected, private) Ключевое слово class Название класса с БольшойБуквы Имя
- 38. Тело класса Члены класса: Поля – переменные и константы, характеризующие объект; Методы – процедуры, описывающие поведение
- 39. Модификаторы управления доступом public определяет, что следующие за ним определения доступны всем; private означает, что следующие
- 40. Модификаторы управления доступом Уровень класса - модификатор public или никакого; Уровень члена класса – модификаторы: public,
- 41. Создание экземпляра класса Этапы: Объявление объектов MyClass object1, object2; Выделение памяти под объекты object1 = new
- 42. Особенности конструктора: конструктор имеется в любом классе; конструктор выполняется автоматически при создании экземпляра класса; конструктор не
- 43. Класс DynArray
- 44. Класс DynArray int size; // текущий размер массива int maxSize; // размер отведенной памяти int[] array;
- 45. public class DynArray { // класс имеет три поля int size; // текущий размер массива int
- 46. // аргумент указывает, сколько памяти надо // отвести под его элементы public DynArray (int sz){ this
- 47. // аргументы указывают, сколько памяти // используется под элементы и сколько // отведено всего public DynArray
- 48. public DynArray (int sz, int maxSz,int[] iniArray){ size = sz; maxSize = (maxSz array = new
- 49. // операция выборки элемента public int elementAt (int i){ return array[i]; } Класс DynArray
- 50. // изменение текущего размера массива, // аргумент delta задает размер изменения public void resize (int delta){
- 51. Класс DynArray // операция расширения массива void enlarge (int delta){ if ((size += delta) > maxSize)
- 52. // операция уменьшения массива void shrink (int delta){ size = (delta > size ? 0 :
- 53. // добавление одного нового элемента // (с возможным расширением массива) void add (int e){ resize(1); array[size-1]
- 54. Иерархия классов в Java Вершина иерархии классов Java - класс Object; Все классы наследники класса Object,
- 55. Класс Object Методы: equals() сравнивает данный объект на равенство с объектом, заданным в аргументе, возвращает логическое
- 56. Задание: Внести изменения в класс DynArray так, чтобы элементы массива могли быть экземплярами произвольного класса. (при
- 57. Интерфейсы в Java
- 58. Интерфейсы в Java Интерфейс – это явно указанная спецификация набора методов, которые должны быть представлены в
- 59. Определение интерфейса public interface имя extends интерфейс1, интерфейс2 { тип имя_константы = значение; тип_результата имя_метода(параметры_метода); }
- 60. Тело интерфейса Заголовки методов не содержат фигурных скобок (не определяют реализацию); отделяются точкой с запятой; методы
- 61. Тело интерфейса Объявление констант Любая переменная, объявленная в интерфейсе является public, static и final поэтому эти
- 62. Реализация интерфейсов class имя_класса [extends суперкласс] [implements интерфейс0 [, интерфейс1...]] { тело класса }
- 63. Реализация интерфейсов Интерфейсы можно использовать для импорта в различные классы совместно используемых констант. В том случае,
- 64. Реализация интерфейсов Если интерфейс не включает в себя методы, то любой класс, объявляемый реализацией этого интерфейса,
- 65. Реализация интерфейсов Если интерфейс включает в себя заголовки методов, то любой класс, объявляемый реализацией этого интерфейса,
- 66. Пример: Классы и интерфейсы public class IntList { //внутренний класс static class ListItem { int item;
- 67. Пример: Классы и интерфейсы //поля класса int count = 0; ListItem first = null; ListItem last
- 68. Пример: Классы и интерфейсы //создание пустого списка public IntList(){} //создание копии уже имеющегося списка public IntList(final
- 69. Пример: Классы и интерфейсы //добавление элементов в конец списка public void addLast(final IntList src) { for(ListItem
- 70. Пример: Классы и интерфейсы //добавление элемента в конец списка public void addLast(int item){ ListItem newItem =
- 71. //добавление элемента в начало списка public void addFirst(int item){ ListItem newItem = new ListItem(item,first); if (first
- 72. Пример: Классы и интерфейсы //удаление первого элемента из списка public int remove(){ int res = first.item;
- 73. Пример: Классы и интерфейсы public interface Visitor { void visit (int item); } //В класс IntList
- 74. Интерфейс – тип данных Если тип переменной определен как интерфейс, то объект, присвоенный этой переменной, должен
- 75. public class Summator implements Visitor { int sum = 0; String s =""; public void visit(int
- 76. Пример. Классы и интерфейсы public class IntListTest { public static void main(String[] args) { IntList lst
- 77. Итак: Интерфейс определяет протокол взаимодействия двух объектов. Объявление интерфейса содержит сигнатуры методов, но не их реализации
- 78. Ключевое слово abstract: Иногда бывает удобным описать только заголовок метода, без его тела, и таким образом
- 79. Пример Необходимо создать набор графических элементов геометрические фигуры - круг, квадрат, звезда и т.д.; элементы пользовательского
- 80. Пример. Абстрактный класс public class AbstructFigure { protected int x; protected int y; protected Color c;
- 81. Пример: Ссылки на метод как параметры методов Начиная с JDK 8 в Java можно в качестве
- 82. Пример: класс Pet public class Pet { protected String name; protected int countLegs; protected int countEaes;
- 83. Пример: класс Pet (продолжение) public int getCountLegs(){ return countLegs; } public int getCountEaes(){ return countEaes; }
- 84. Потомки класса Pet: Cat и Spider public class Cat extends Pet{ public Cat(String name) { super(name);
- 85. Функциональный интерфейс Expression Здесь определен функциональный интерфейс Expression, который имеет один метод. int getCount(Pet pet); Аргумент
- 86. Тестирующий класс public class test { public static void main(String[] args) { int n = 4;
- 87. Пакеты в Java
- 88. Пакет – объединение классов и интерфейсов объединение родственных классов и интерфейсов; упрощение поиска классов и интерфейсов,
- 89. Использование пакета Создание пакета оператор: package имя_пакета; Обращение к членам пакета из другого пакета имя_пакета.имя_класса; (полное
- 90. Особенности импорта пакетов импорт по умолчанию - java.lang, текущий пакет, безымянный пакет; импорт только классов и
- 91. Иерархия пакетов Древовидная структура (иерархия) пакетов и подпакетов в точности отображается на структуру файловой системы. Все
- 92. Лирика Структура исходного файла с текстом программы на языке Java: Необязательный оператор package. Необязательные операторы import.
- 93. Лирика Cod Conventions Pascal naming convention – все слова в имени начинаются с заглавной буквы, используется
- 94. Обработка исключений
- 95. Обработка исключений Исключительные ситуации (exceptions) могут возникнуть во время выполнения (runtime) программы, прервав ее обычный ход.
- 96. Обработка исключений Исключение в языке Java — это объект, который описывает исключительную (т. е. ошибочную) ситуацию,
- 97. Обработка исключений Если в программе не описан обработчик исключения, то исключение захватывается обработчиком, заданным исполнительной системой
- 98. Обработка исключений Преимущества самостоятельной обработки исключений: позволяет фиксировать ошибку, предохраняет программу от автоматического завершения.
- 99. Обработка исключений в Java управляется с помощью пяти ключевых слов: try catch finally throw throws
- 100. try { Программные операторы, которые нужно контролировать относительно исключений } catch (ExceptionType1 exOb){ Операторы, обрабатывающие исключение
- 101. Обработка исключений Когда вы используете множественные catch-операторы, важно помнить, что в последовательности catch-предложений подклассы исключений должны
- 102. Иерархия классов исключений Throwable Exception RuntimeException … Error …
- 103. Error определяет исключения, перехват которых вашей программой при нормальных обстоятельствах не ожидается. Исключения типа Error применяются
- 104. Exception - используется для исключительных состояний, которые должны перехватывать программы пользователя. Собственные заказные типы исключений, создаваемые
- 105. Некоторые из классов непроверяемых исключений: ArithmeticException - арифметические вычисления IndexOutOfBoundsException - индекс вне границ массива ArrayStoreException
- 106. Некоторые из классов проверяемых исключений: CloneNotSupportedException - класс, для объекта которого вызывается клонирование, не реализует интерфейс
- 107. Иерархия классов исключений Throwable Exception RuntimeException Непроверяемые исключения Проверяемые исключения Error
- 108. Некоторые наследуемые методы: Метод getMessage() возвращает сообщение об исключении Метод getStackTrace() возвращает массив, содержащий трассировку стека
- 109. Обработка исключений Программа может сама явно выбрасывать исключения, используя оператор throw. Общая форма оператора throw такова:
- 110. Обработка исключений Два способа получения Throwable-объекта: использование параметра в предложении catch; создание объекта с помощью операции
- 111. Обработка исключений Если метод способен к порождению исключения, которое он не обрабатывает, он должен определить свое
- 112. Ссылки: https://metanit.com/java/tutorial/ Руководство по языку программирования Java (русский) http://download.oracle.com/javase/7/docs/api/ документация по классам Java (English) http://www.javaportal.ru (русский)
- 113. Перечисления enum
- 114. Перечисления enum - набор логически связанных констант; - может быть объявлено вне класса. enum { //
- 115. Перечисления: пример enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
- 116. Перечисления: пример public class Program{ public static void main(String[] args) { Day current = Day.MONDAY; System.out.println(current);
- 117. Перечисления: пример class Schedule{ String way; Day day; Schedule (String w, Day d){ way = w;
- 118. Перечисления: пример public class Program{ public static void main(String[] args) { Schedule s1 = new Schedule("Moscow",
- 119. Перечисления: пример switch (s1.day){ case MONDAY: System.out.println ("MONDAY"); break; case TUESDAY: System.out.println ("TUESDAY"); break; ... }
- 120. Методы перечислений: values() Статический метод values() - возвращает массив всех констант перечисления: public class Program{ public
- 121. Методы перечислений: ordinal() Метод ordinal()- порядковый номер определенной константы (нумерация начинается с 0) : System.out.println(Day.FRIDAY.ordinal); //
- 122. Конструкторы, поля и методы перечисления public class Program{ public static void main(String[] args) { System.out.println(Color.RED.getCode()); //
- 123. Обобщения (Generics)
- 124. Обобщения (Generics) обобщенные типы и методы позволяют нам уйти от жесткого определения используемых типов.
- 125. Статический метод values() - возвращает массив всех констант перечисления: class Account { //T – универсальный параметр
- 126. public class Program{ public static void main(String[] args) { Account acc1 = new Account ("2345", 5000);
- 127. public class Program{ public static void main(String[] args) { Account acc1 = new Account ("cid2373", 5000);
- 129. Скачать презентацию