🗊 Презентация Высокоуровневые методы информатики и программирования

Нажмите для полного просмотра!
Высокоуровневые методы информатики и программирования, слайд №1 Высокоуровневые методы информатики и программирования, слайд №2 Высокоуровневые методы информатики и программирования, слайд №3 Высокоуровневые методы информатики и программирования, слайд №4 Высокоуровневые методы информатики и программирования, слайд №5 Высокоуровневые методы информатики и программирования, слайд №6 Высокоуровневые методы информатики и программирования, слайд №7 Высокоуровневые методы информатики и программирования, слайд №8 Высокоуровневые методы информатики и программирования, слайд №9 Высокоуровневые методы информатики и программирования, слайд №10 Высокоуровневые методы информатики и программирования, слайд №11 Высокоуровневые методы информатики и программирования, слайд №12 Высокоуровневые методы информатики и программирования, слайд №13 Высокоуровневые методы информатики и программирования, слайд №14 Высокоуровневые методы информатики и программирования, слайд №15 Высокоуровневые методы информатики и программирования, слайд №16 Высокоуровневые методы информатики и программирования, слайд №17 Высокоуровневые методы информатики и программирования, слайд №18 Высокоуровневые методы информатики и программирования, слайд №19 Высокоуровневые методы информатики и программирования, слайд №20 Высокоуровневые методы информатики и программирования, слайд №21 Высокоуровневые методы информатики и программирования, слайд №22 Высокоуровневые методы информатики и программирования, слайд №23 Высокоуровневые методы информатики и программирования, слайд №24 Высокоуровневые методы информатики и программирования, слайд №25 Высокоуровневые методы информатики и программирования, слайд №26 Высокоуровневые методы информатики и программирования, слайд №27 Высокоуровневые методы информатики и программирования, слайд №28 Высокоуровневые методы информатики и программирования, слайд №29 Высокоуровневые методы информатики и программирования, слайд №30 Высокоуровневые методы информатики и программирования, слайд №31 Высокоуровневые методы информатики и программирования, слайд №32 Высокоуровневые методы информатики и программирования, слайд №33 Высокоуровневые методы информатики и программирования, слайд №34 Высокоуровневые методы информатики и программирования, слайд №35 Высокоуровневые методы информатики и программирования, слайд №36 Высокоуровневые методы информатики и программирования, слайд №37 Высокоуровневые методы информатики и программирования, слайд №38 Высокоуровневые методы информатики и программирования, слайд №39 Высокоуровневые методы информатики и программирования, слайд №40 Высокоуровневые методы информатики и программирования, слайд №41 Высокоуровневые методы информатики и программирования, слайд №42 Высокоуровневые методы информатики и программирования, слайд №43 Высокоуровневые методы информатики и программирования, слайд №44 Высокоуровневые методы информатики и программирования, слайд №45 Высокоуровневые методы информатики и программирования, слайд №46 Высокоуровневые методы информатики и программирования, слайд №47 Высокоуровневые методы информатики и программирования, слайд №48 Высокоуровневые методы информатики и программирования, слайд №49 Высокоуровневые методы информатики и программирования, слайд №50 Высокоуровневые методы информатики и программирования, слайд №51 Высокоуровневые методы информатики и программирования, слайд №52 Высокоуровневые методы информатики и программирования, слайд №53 Высокоуровневые методы информатики и программирования, слайд №54 Высокоуровневые методы информатики и программирования, слайд №55 Высокоуровневые методы информатики и программирования, слайд №56 Высокоуровневые методы информатики и программирования, слайд №57 Высокоуровневые методы информатики и программирования, слайд №58 Высокоуровневые методы информатики и программирования, слайд №59 Высокоуровневые методы информатики и программирования, слайд №60 Высокоуровневые методы информатики и программирования, слайд №61 Высокоуровневые методы информатики и программирования, слайд №62 Высокоуровневые методы информатики и программирования, слайд №63 Высокоуровневые методы информатики и программирования, слайд №64 Высокоуровневые методы информатики и программирования, слайд №65 Высокоуровневые методы информатики и программирования, слайд №66 Высокоуровневые методы информатики и программирования, слайд №67 Высокоуровневые методы информатики и программирования, слайд №68 Высокоуровневые методы информатики и программирования, слайд №69 Высокоуровневые методы информатики и программирования, слайд №70 Высокоуровневые методы информатики и программирования, слайд №71 Высокоуровневые методы информатики и программирования, слайд №72 Высокоуровневые методы информатики и программирования, слайд №73 Высокоуровневые методы информатики и программирования, слайд №74 Высокоуровневые методы информатики и программирования, слайд №75 Высокоуровневые методы информатики и программирования, слайд №76 Высокоуровневые методы информатики и программирования, слайд №77 Высокоуровневые методы информатики и программирования, слайд №78 Высокоуровневые методы информатики и программирования, слайд №79 Высокоуровневые методы информатики и программирования, слайд №80 Высокоуровневые методы информатики и программирования, слайд №81 Высокоуровневые методы информатики и программирования, слайд №82 Высокоуровневые методы информатики и программирования, слайд №83 Высокоуровневые методы информатики и программирования, слайд №84 Высокоуровневые методы информатики и программирования, слайд №85 Высокоуровневые методы информатики и программирования, слайд №86 Высокоуровневые методы информатики и программирования, слайд №87 Высокоуровневые методы информатики и программирования, слайд №88 Высокоуровневые методы информатики и программирования, слайд №89 Высокоуровневые методы информатики и программирования, слайд №90 Высокоуровневые методы информатики и программирования, слайд №91 Высокоуровневые методы информатики и программирования, слайд №92 Высокоуровневые методы информатики и программирования, слайд №93 Высокоуровневые методы информатики и программирования, слайд №94 Высокоуровневые методы информатики и программирования, слайд №95 Высокоуровневые методы информатики и программирования, слайд №96 Высокоуровневые методы информатики и программирования, слайд №97 Высокоуровневые методы информатики и программирования, слайд №98 Высокоуровневые методы информатики и программирования, слайд №99 Высокоуровневые методы информатики и программирования, слайд №100 Высокоуровневые методы информатики и программирования, слайд №101 Высокоуровневые методы информатики и программирования, слайд №102 Высокоуровневые методы информатики и программирования, слайд №103 Высокоуровневые методы информатики и программирования, слайд №104 Высокоуровневые методы информатики и программирования, слайд №105 Высокоуровневые методы информатики и программирования, слайд №106 Высокоуровневые методы информатики и программирования, слайд №107 Высокоуровневые методы информатики и программирования, слайд №108 Высокоуровневые методы информатики и программирования, слайд №109 Высокоуровневые методы информатики и программирования, слайд №110 Высокоуровневые методы информатики и программирования, слайд №111 Высокоуровневые методы информатики и программирования, слайд №112 Высокоуровневые методы информатики и программирования, слайд №113 Высокоуровневые методы информатики и программирования, слайд №114 Высокоуровневые методы информатики и программирования, слайд №115 Высокоуровневые методы информатики и программирования, слайд №116 Высокоуровневые методы информатики и программирования, слайд №117 Высокоуровневые методы информатики и программирования, слайд №118 Высокоуровневые методы информатики и программирования, слайд №119 Высокоуровневые методы информатики и программирования, слайд №120 Высокоуровневые методы информатики и программирования, слайд №121 Высокоуровневые методы информатики и программирования, слайд №122 Высокоуровневые методы информатики и программирования, слайд №123 Высокоуровневые методы информатики и программирования, слайд №124 Высокоуровневые методы информатики и программирования, слайд №125 Высокоуровневые методы информатики и программирования, слайд №126 Высокоуровневые методы информатики и программирования, слайд №127 Высокоуровневые методы информатики и программирования, слайд №128

Содержание

Вы можете ознакомиться и скачать презентацию на тему Высокоуровневые методы информатики и программирования. Доклад-сообщение содержит 128 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Введение в ООП Березовская Юлия Владимировна myumla.myu@gmail.com Токаревская Светлана Анатольевна s.tokarevskaya@narfu.ru
Описание слайда:
Введение в ООП Березовская Юлия Владимировна myumla.myu@gmail.com Токаревская Светлана Анатольевна s.tokarevskaya@narfu.ru

Слайд 2


Содержание Высокоуровневые методы информатики и программирования 2. Технология Java. Классы и объекты Обзор технологии Java Классы и объекты Класс...
Описание слайда:
Содержание Высокоуровневые методы информатики и программирования 2. Технология Java. Классы и объекты Обзор технологии Java Классы и объекты Класс DynArray Интерфейсы в Java Абстрактные классы Пакеты в Java Обработка исключений Перечисления Обобщения

Слайд 3


Лекция 1 Высокоуровневые методы информатики и программирования
Описание слайда:
Лекция 1 Высокоуровневые методы информатики и программирования

Слайд 4


Программирование Программирование – технология создания программ. Программа представляет собой набор инструкций процессора. Чем выше уровень языка,...
Описание слайда:
Программирование Программирование – технология создания программ. Программа представляет собой набор инструкций процессора. Чем выше уровень языка, тем в более простой форме записываются одни и те же действия. Высокоуровневые методы программирования: методы структурного программирования; ООП.

Слайд 5


Парадигмы программирования некоторые методы и стили, которые становятся общепринятыми на некоторое время. Первые программы, написанные в машинных...
Описание слайда:
Парадигмы программирования некоторые методы и стили, которые становятся общепринятыми на некоторое время. Первые программы, написанные в машинных кодах, составляли сотни строк совершенно непонятного текста. Создание машинного кода компилятором (FORTRAN, Algol и др.). Процедурное программирование. Структурное программирование (напр. Pascal). Модульное программирование. Объектное программирование.

Слайд 6


Объектно-ориентированное программирование (ООП) технология создания сложного программного обеспечения, основанная на представлении программы в виде...
Описание слайда:
Объектно-ориентированное программирование (ООП) технология создания сложного программного обеспечения, основанная на представлении программы в виде совокупности объектов, каждый из которых является экземпляром определенного типа (класса), а классы образуют иерархию с наследованием свойств.

Слайд 7


Этапы разработки ПО: Постановка задачи Анализ предметной области задачи; Проектирование системы; Реализация системы; Модификация.
Описание слайда:
Этапы разработки ПО: Постановка задачи Анализ предметной области задачи; Проектирование системы; Реализация системы; Модификация.

Слайд 8


Анализ предметной области Цель: Максимально полное описание задачи. Выполняется: Объектная декомпозиция системы Основные особенности поведения...
Описание слайда:
Анализ предметной области Цель: Максимально полное описание задачи. Выполняется: Объектная декомпозиция системы Основные особенности поведения объектов Результат: Диаграмма объектов: основные объекты и сообщения, передаваемые между ними.

Слайд 9


Проектирование системы Логическое проектирование: разработка структуры классов (поля, методы). Результат: диаграмма классов, отражающая структуру...
Описание слайда:
Проектирование системы Логическое проектирование: разработка структуры классов (поля, методы). Результат: диаграмма классов, отражающая структуру классов и взаимоотношения между ними. Физическое проектирование: объединение описаний классов в модули, определение способов взаимодействия с оборудованием, ОС, другим ПО и т.д. Результат: схема объединения классов в модули, описание интерфейсов взаимодействия

Слайд 10


Проектирование системы Результат: Модель проектируемой системы, которая отображает только важные для поставленной задачи черты, а остальные...
Описание слайда:
Проектирование системы Результат: Модель проектируемой системы, которая отображает только важные для поставленной задачи черты, а остальные представляет в упрощенном виде или вовсе отбрасывает. Модель содержит требования к иерархии классов представляющей предметную область, к разбиению системы на модули. Для создания модели пользуются специальным языком моделирования, например, UML.

Слайд 11


Эволюция (реализация) системы – процесс поэтапной реализации классов и подключения объектов к системе. Абстракция; Инкапсуляция; Наследование;...
Описание слайда:
Эволюция (реализация) системы – процесс поэтапной реализации классов и подключения объектов к системе. Абстракция; Инкапсуляция; Наследование; Полиморфизм; Модульность.

Слайд 12


Объектно-ориентированные языки программирования Язык программирования (алгоритмический язык) – это набор правил, определяющих, какие...
Описание слайда:
Объектно-ориентированные языки программирования Язык программирования (алгоритмический язык) – это набор правил, определяющих, какие последовательности символов составляют программу (синтаксические правила) и какие вычисления описывает программа (семантические правила). Программа – текст, задающий множество процессов вычислений, в соответствии с которым исполнитель, понимающий программу, разворачивает какой-то один из них.

Слайд 13


Объектно-ориентированные языки программирования Объектно-ориентированные языки содержат конструкции, позволяющие определять объекты, принадлежащие...
Описание слайда:
Объектно-ориентированные языки программирования Объектно-ориентированные языки содержат конструкции, позволяющие определять объекты, принадлежащие классам и обладающие свойствами: – инкапсуляции, – наследования, – полиморфизма.

Слайд 14


Объектно-ориентированные языки программирования Объектно-ориентированные языки можно разделить на три группы: чистые: Simula (1962); Smaltalk (1972);...
Описание слайда:
Объектно-ориентированные языки программирования Объектно-ориентированные языки можно разделить на три группы: чистые: Simula (1962); Smaltalk (1972); Beta (1975); Self (1986); Cecil (1992). гибридные: C++ (1983); Object Pascal (1984). урезанные: Java (1995); C# (2000).

Слайд 15


Лекции 2-3 Технология Java Классы и объекты
Описание слайда:
Лекции 2-3 Технология Java Классы и объекты

Слайд 16


Обзор технологии Java
Описание слайда:
Обзор технологии Java

Слайд 17


Язык Java Язык программирования Java – язык программирования высокого уровня, обладающий характеристиками: Подробнее:
Описание слайда:
Язык Java Язык программирования Java – язык программирования высокого уровня, обладающий характеристиками: Подробнее:

Слайд 18


Платформа Java Платформа – окружение из аппаратного или программного обеспечения, в котором выполняется программа. В большинстве случаев платформа...
Описание слайда:
Платформа Java Платформа – окружение из аппаратного или программного обеспечения, в котором выполняется программа. В большинстве случаев платформа рассматривается как объединение ОС и аппаратного обеспечения (железа), на котором функционирует ОС. Java-платформа – исключительно программное обеспечение, функционирующее над платформой, основанной на аппаратном обеспечении, позволяющее исполнять Java-программы.

Слайд 19


Платформа Java
Описание слайда:
Платформа Java

Слайд 20


Создание и выполнение Java-программ:
Описание слайда:
Создание и выполнение Java-программ:

Слайд 21


Переносимость Java-программ
Описание слайда:
Переносимость Java-программ

Слайд 22


Высокоуровневые методы информатики и программирования, слайд №22
Описание слайда:

Слайд 23


Высокоуровневые методы информатики и программирования, слайд №23
Описание слайда:

Слайд 24


Высокоуровневые методы информатики и программирования, слайд №24
Описание слайда:

Слайд 25


Высокоуровневые методы информатики и программирования, слайд №25
Описание слайда:

Слайд 26


Высокоуровневые методы информатики и программирования, слайд №26
Описание слайда:

Слайд 27


Высокоуровневые методы информатики и программирования, слайд №27
Описание слайда:

Слайд 28


Высокоуровневые методы информатики и программирования, слайд №28
Описание слайда:

Слайд 29


Высокоуровневые методы информатики и программирования, слайд №29
Описание слайда:

Слайд 30


Высокоуровневые методы информатики и программирования, слайд №30
Описание слайда:

Слайд 31


Высокоуровневые методы информатики и программирования, слайд №31
Описание слайда:

Слайд 32


Высокоуровневые методы информатики и программирования, слайд №32
Описание слайда:

Слайд 33


Высокоуровневые методы информатики и программирования, слайд №33
Описание слайда:

Слайд 34


Высокоуровневые методы информатики и программирования, слайд №34
Описание слайда:

Слайд 35


Классы и объекты
Описание слайда:
Классы и объекты

Слайд 36


Классы основные строительные элементы Java-программы. // заголовок класса class MyClass { //тело класса: // поля, конструкторы и методы }
Описание слайда:
Классы основные строительные элементы Java-программы. // заголовок класса class MyClass { //тело класса: // поля, конструкторы и методы }

Слайд 37


Заголовок класса Модификатор управления доступом (public, protected, private) Ключевое слово class Название класса с БольшойБуквы Имя класса предка,...
Описание слайда:
Заголовок класса Модификатор управления доступом (public, protected, private) Ключевое слово class Название класса с БольшойБуквы Имя класса предка, предваренное словом extends После слова implements через запятую имена интерфейсов, реализуемых классом

Слайд 38


Тело класса Члены класса: Поля – переменные и константы, характеризующие объект; Методы – процедуры, описывающие поведение объекта; Вложенные классы;...
Описание слайда:
Тело класса Члены класса: Поля – переменные и константы, характеризующие объект; Методы – процедуры, описывающие поведение объекта; Вложенные классы; Вложенные интерфейсы.

Слайд 39


Модификаторы управления доступом public определяет, что следующие за ним определения доступны всем; private означает, что следующие за ним...
Описание слайда:
Модификаторы управления доступом public определяет, что следующие за ним определения доступны всем; private означает, что следующие за ним определения может использовать только создатель типа, внутри функций членов этого типа; protected по действию схож с private, за одним исключением: унаследованные классы имеют доступ к членам, помеченным protected, хотя и не имеют доступа к private-членам.

Слайд 40


Модификаторы управления доступом Уровень класса - модификатор public или никакого; Уровень члена класса – модификаторы: public, private, protected...
Описание слайда:
Модификаторы управления доступом Уровень класса - модификатор public или никакого; Уровень члена класса – модификаторы: public, private, protected или никакого.

Слайд 41


Создание экземпляра класса Этапы: Объявление объектов MyClass object1, object2; Выделение памяти под объекты object1 = new MyClass(); Инициализация...
Описание слайда:
Создание экземпляра класса Этапы: Объявление объектов MyClass object1, object2; Выделение памяти под объекты object1 = new MyClass(); Инициализация объектов MyClass() – конструктор

Слайд 42


Особенности конструктора: конструктор имеется в любом классе; конструктор выполняется автоматически при создании экземпляра класса; конструктор не...
Описание слайда:
Особенности конструктора: конструктор имеется в любом классе; конструктор выполняется автоматически при создании экземпляра класса; конструктор не возвращает никакого значения; конструктор нельзя наследовать и переопределить в подклассе; конструктор может содержать: вызов конструктора суперкласса (super); вызов другого конструктора того же класса (this).

Слайд 43


Класс DynArray
Описание слайда:
Класс DynArray

Слайд 44


Класс DynArray int size; // текущий размер массива int maxSize; // размер отведенной памяти int[] array; // сам массив // Конструкторы: DynArray (int...
Описание слайда:
Класс DynArray int size; // текущий размер массива int maxSize; // размер отведенной памяти int[] array; // сам массив // Конструкторы: DynArray (int sz); DynArray (int sz, int maxSz); DynArray (int sz, int maxSz, int[] iniArray); // Методы: int elementAt (int i); // операция выборки элемента void resize (int delta); // изменение текущего размера // массива void enlarge (int delta); // операция расширения массива void shrink (int delta); // операция уменьшения массива void add (int e); // добавление одного нового элемента // (с возможным расширением массива) boolean equals(); String toString();

Слайд 45


Класс DynArray - атрибуты public class DynArray { // класс имеет три поля int size; // текущий размер массива int maxSize; // размер отведенной...
Описание слайда:
Класс DynArray - атрибуты public class DynArray { // класс имеет три поля int size; // текущий размер массива int maxSize; // размер отведенной памяти int[] array; // сам массив }

Слайд 46


Класс DynArray - конструкторы // аргумент указывает, сколько памяти надо // отвести под его элементы public DynArray (int sz){ this (sz, sz, null); }
Описание слайда:
Класс DynArray - конструкторы // аргумент указывает, сколько памяти надо // отвести под его элементы public DynArray (int sz){ this (sz, sz, null); }

Слайд 47


Класс DynArray - конструкторы // аргументы указывают, сколько памяти // используется под элементы и сколько // отведено всего public DynArray (int...
Описание слайда:
Класс DynArray - конструкторы // аргументы указывают, сколько памяти // используется под элементы и сколько // отведено всего public DynArray (int sz, int maxSz){ this (sz, maxSz, null); }

Слайд 48


Класс DynArray - конструкторы public DynArray (int sz, int maxSz,int[] iniArray){ size = sz; maxSize = (maxSz < sz ? sz : maxSz); array = new...
Описание слайда:
Класс DynArray - конструкторы public DynArray (int sz, int maxSz,int[] iniArray){ size = sz; maxSize = (maxSz < sz ? sz : maxSz); array = new int[maxSize]; if (iniArray != null){ for (int i=0; i < size && i < iniArray.length; i++) array[i] = iniArray[i]; } }

Слайд 49


// операция выборки элемента // операция выборки элемента public int elementAt (int i){ return array[i]; }
Описание слайда:
// операция выборки элемента // операция выборки элемента public int elementAt (int i){ return array[i]; }

Слайд 50


// изменение текущего размера массива, // изменение текущего размера массива, // аргумент delta задает размер изменения public void resize (int...
Описание слайда:
// изменение текущего размера массива, // изменение текущего размера массива, // аргумент delta задает размер изменения public void resize (int delta){ if (delta > 0) enlarge(delta); else if (delta < 0) shrink(-delta); }

Слайд 51


Класс DynArray // операция расширения массива void enlarge (int delta){ if ((size += delta) > maxSize) { maxSize = size; int[] newArray = new...
Описание слайда:
Класс DynArray // операция расширения массива void enlarge (int delta){ if ((size += delta) > maxSize) { maxSize = size; int[] newArray = new int[maxSize]; for (int i=0; i < size - delta; i++) newArray[i] = array[i]; array = newArray; } }

Слайд 52


Класс DynArray // операция уменьшения массива void shrink (int delta){ size = (delta > size ? 0 : size - delta); }
Описание слайда:
Класс DynArray // операция уменьшения массива void shrink (int delta){ size = (delta > size ? 0 : size - delta); }

Слайд 53


Класс DynArray // добавление одного нового элемента // (с возможным расширением массива) void add (int e){ resize(1); array[size-1] = e; }
Описание слайда:
Класс DynArray // добавление одного нового элемента // (с возможным расширением массива) void add (int e){ resize(1); array[size-1] = e; }

Слайд 54


Иерархия классов в Java Вершина иерархии классов Java - класс Object; Все классы наследники класса Object, т.е. ссылочная переменная типа Object...
Описание слайда:
Иерархия классов в Java Вершина иерархии классов Java - класс Object; Все классы наследники класса Object, т.е. ссылочная переменная типа Object может обращаться к объекту любого класса; Запрещено множественное наследование.

Слайд 55


Класс Object Методы: equals() сравнивает данный объект на равенство с объектом, заданным в аргументе, возвращает логическое значение. toString()...
Описание слайда:
Класс Object Методы: equals() сравнивает данный объект на равенство с объектом, заданным в аргументе, возвращает логическое значение. toString() пытается содержимое объекта преобразовать в строку символов и возвращает объект класса String.

Слайд 56


Задание: Внести изменения в класс DynArray так, чтобы элементы массива могли быть экземплярами произвольного класса. (при определении массива...
Описание слайда:
Задание: Внести изменения в класс DynArray так, чтобы элементы массива могли быть экземплярами произвольного класса. (при определении массива используйте тип данных Object) Переопределите методы equals() и toString() (класса DynArray). Напишите класс DynArrayTest, тестирующий работу класса DynArray.

Слайд 57


Интерфейсы в Java
Описание слайда:
Интерфейсы в Java

Слайд 58


Интерфейсы в Java Интерфейс – это явно указанная спецификация набора методов, которые должны быть представлены в классе, который реализует эту...
Описание слайда:
Интерфейсы в Java Интерфейс – это явно указанная спецификация набора методов, которые должны быть представлены в классе, который реализует эту спецификацию. Интерфейс – ссылочный тип данных, подобный классу, который может содержать только константы, заголовки методов и вложенные типы (классы и интерфейсы).

Слайд 59


Определение интерфейса public interface имя extends интерфейс1, интерфейс2 { тип имя_константы = значение; тип_результата...
Описание слайда:
Определение интерфейса public interface имя extends интерфейс1, интерфейс2 { тип имя_константы = значение; тип_результата имя_метода(параметры_метода); }

Слайд 60


Тело интерфейса Заголовки методов не содержат фигурных скобок (не определяют реализацию); отделяются точкой с запятой; методы являются public,...
Описание слайда:
Тело интерфейса Заголовки методов не содержат фигурных скобок (не определяют реализацию); отделяются точкой с запятой; методы являются public, поэтому этот модификатор не пишется.

Слайд 61


Тело интерфейса Объявление констант Любая переменная, объявленная в интерфейсе является public, static и final поэтому эти модификаторы не пишутся....
Описание слайда:
Тело интерфейса Объявление констант Любая переменная, объявленная в интерфейсе является public, static и final поэтому эти модификаторы не пишутся. Предполагается обязательное присвоение значения константе в теле интерфейса.

Слайд 62


Реализация интерфейсов class имя_класса [extends суперкласс] [implements интерфейс0 [, интерфейс1...]] { тело класса }
Описание слайда:
Реализация интерфейсов class имя_класса [extends суперкласс] [implements интерфейс0 [, интерфейс1...]] { тело класса }

Слайд 63


Реализация интерфейсов Интерфейсы можно использовать для импорта в различные классы совместно используемых констант. В том случае, когда вы...
Описание слайда:
Реализация интерфейсов Интерфейсы можно использовать для импорта в различные классы совместно используемых констант. В том случае, когда вы реализуете в классе какой-либо интерфейс, все имена переменных этого интерфейса будут видимы в классе как константы.

Слайд 64


Реализация интерфейсов Если интерфейс не включает в себя методы, то любой класс, объявляемый реализацией этого интерфейса, может вообще ничего не...
Описание слайда:
Реализация интерфейсов Если интерфейс не включает в себя методы, то любой класс, объявляемый реализацией этого интерфейса, может вообще ничего не реализовывать. Для импорта констант в пространство имен класса предпочтительнее использовать переменные с модификатором final.

Слайд 65


Реализация интерфейсов Если интерфейс включает в себя заголовки методов, то любой класс, объявляемый реализацией этого интерфейса, должен содержать...
Описание слайда:
Реализация интерфейсов Если интерфейс включает в себя заголовки методов, то любой класс, объявляемый реализацией этого интерфейса, должен содержать реализацию всех методов, описанных в интерфейсе.

Слайд 66


Пример: Классы и интерфейсы public class IntList { //внутренний класс static class ListItem { int item; ListItem next; public ListItem(int i,...
Описание слайда:
Пример: Классы и интерфейсы public class IntList { //внутренний класс static class ListItem { int item; ListItem next; public ListItem(int i, ListItem n){ item=i; next=n; } };

Слайд 67


Пример: Классы и интерфейсы //поля класса int count = 0; ListItem first = null; ListItem last = null;
Описание слайда:
Пример: Классы и интерфейсы //поля класса int count = 0; ListItem first = null; ListItem last = null;

Слайд 68


Пример: Классы и интерфейсы //создание пустого списка public IntList(){} //создание копии уже имеющегося списка public IntList(final IntList src){...
Описание слайда:
Пример: Классы и интерфейсы //создание пустого списка public IntList(){} //создание копии уже имеющегося списка public IntList(final IntList src){ addLast(src); //добавляет список src в конец списка this }

Слайд 69


Пример: Классы и интерфейсы //добавление элементов в конец списка public void addLast(final IntList src) { for(ListItem cur = src.first; cur != null;...
Описание слайда:
Пример: Классы и интерфейсы //добавление элементов в конец списка public void addLast(final IntList src) { for(ListItem cur = src.first; cur != null; cur = cur.next) addLast(cur.item); }

Слайд 70


Пример: Классы и интерфейсы //добавление элемента в конец списка public void addLast(int item){ ListItem newItem = new ListItem(item, null); if (last...
Описание слайда:
Пример: Классы и интерфейсы //добавление элемента в конец списка public void addLast(int item){ ListItem newItem = new ListItem(item, null); if (last == null){ first = newItem; } else { last.next = newItem; } last = newItem; count++; }

Слайд 71


Пример: Классы и интерфейсы //добавление элемента в начало списка public void addFirst(int item){ ListItem newItem = new ListItem(item,first); if...
Описание слайда:
Пример: Классы и интерфейсы //добавление элемента в начало списка public void addFirst(int item){ ListItem newItem = new ListItem(item,first); if (first == null){ last = newItem; } first = newItem; count++; }

Слайд 72


Пример: Классы и интерфейсы //удаление первого элемента из списка public int remove(){ int res = first.item; first = first.next; count--; return res;...
Описание слайда:
Пример: Классы и интерфейсы //удаление первого элемента из списка public int remove(){ int res = first.item; first = first.next; count--; return res; }

Слайд 73


Пример: Классы и интерфейсы public interface Visitor { void visit (int item); } //В класс IntList добавим метод-итератор: public void iterator...
Описание слайда:
Пример: Классы и интерфейсы public interface Visitor { void visit (int item); } //В класс IntList добавим метод-итератор: public void iterator (Visitor visitor){ for (ListItem cur = first; cur!=null; cur = cur.next){ visitor.visit(cur.item); } }

Слайд 74


Интерфейс – тип данных Если тип переменной определен как интерфейс, то объект, присвоенный этой переменной, должен быть экземпляром класса,...
Описание слайда:
Интерфейс – тип данных Если тип переменной определен как интерфейс, то объект, присвоенный этой переменной, должен быть экземпляром класса, реализующего этот интерфейс.

Слайд 75


public class Summator implements Visitor { public class Summator implements Visitor { int sum = 0; String s =""; public void visit(int...
Описание слайда:
public class Summator implements Visitor { public class Summator implements Visitor { int sum = 0; String s =""; public void visit(int item){ s+=(item+" "); sum+=item; } public int getSum(){return sum;} public String getList(){return s;} }

Слайд 76


Пример. Классы и интерфейсы public class IntListTest { public static void main(String[] args) { IntList lst = new IntList(); for (int i=0; i
Описание слайда:
Пример. Классы и интерфейсы public class IntListTest { public static void main(String[] args) { IntList lst = new IntList(); for (int i=0; i

Слайд 77


Итак: Интерфейс определяет протокол взаимодействия двух объектов. Объявление интерфейса содержит сигнатуры методов, но не их реализации Объявление...
Описание слайда:
Итак: Интерфейс определяет протокол взаимодействия двух объектов. Объявление интерфейса содержит сигнатуры методов, но не их реализации Объявление интерфейса может содержать определение констант. Класс, реализующий интерфейс должен реализовывать все методы объявленные в интерфейсе. Имя интерфейса может использоваться везде, где может использоваться тип данных.

Слайд 78


Ключевое слово abstract: Иногда бывает удобным описать только заголовок метода, без его тела, и таким образом объявить, что такой метод будет...
Описание слайда:
Ключевое слово abstract: Иногда бывает удобным описать только заголовок метода, без его тела, и таким образом объявить, что такой метод будет существовать в этом классе. Реализацию этого метода, то есть его тело, можно описать позже.

Слайд 79


Пример Необходимо создать набор графических элементов геометрические фигуры - круг, квадрат, звезда и т.д.; элементы пользовательского интерфейса -...
Описание слайда:
Пример Необходимо создать набор графических элементов геометрические фигуры - круг, квадрат, звезда и т.д.; элементы пользовательского интерфейса - кнопки, поля ввода и т.д. Есть специальный контейнер, который занимается их отрисовкой. Внешний вид каждой компоненты уникален, а значит, соответствующий метод (назовем его paint()) будет реализован в разных элементах совсем по-разному. У компонент может быть много общего: занимаемая область, цвет, видимость,… Удобно объявить абстрактный метод в родительском классе: у него нет внешнего вида, но известно, что он есть у каждого наследника!

Слайд 80


Пример. Абстрактный класс public class AbstructFigure { protected int x; protected int y; protected Color c; public abstract void paint(); ... }
Описание слайда:
Пример. Абстрактный класс public class AbstructFigure { protected int x; protected int y; protected Color c; public abstract void paint(); ... }

Слайд 81


Пример: Ссылки на метод как параметры методов Начиная с JDK 8 в Java можно в качестве параметра в метод передавать ссылку на другой метод. Ссылка на...
Описание слайда:
Пример: Ссылки на метод как параметры методов Начиная с JDK 8 в Java можно в качестве параметра в метод передавать ссылку на другой метод. Ссылка на метод передается в виде: Статический метод имя_класса::имя_статического_метода Нестатический метод объект_класса::имя_метода

Слайд 82


Пример: класс Pet public class Pet { protected String name; protected int countLegs; protected int countEaes; public Pet(String name){ this.name =...
Описание слайда:
Пример: класс Pet public class Pet { protected String name; protected int countLegs; protected int countEaes; public Pet(String name){ this.name = name; countLegs = 4; countEaes = 2; } public Pet(String name, int countLegs, int countEaes){ this.name = name; this.countLegs = countLegs; this.countEaes = countEaes; }

Слайд 83


Пример: класс Pet (продолжение) public int getCountLegs(){ return countLegs; } public int getCountEaes(){ return countEaes; } public String...
Описание слайда:
Пример: класс Pet (продолжение) public int getCountLegs(){ return countLegs; } public int getCountEaes(){ return countEaes; } public String toString(){ return this.getClass().getSimpleName() + "\n Name = " + name + "\n countLegs = " + countLegs + "\n countEaes = " + countEaes + "\n"; } }

Слайд 84


Потомки класса Pet: Cat и Spider public class Cat extends Pet{ public Cat(String name) { super(name); } } public class Spider extends Pet{ public...
Описание слайда:
Потомки класса Pet: Cat и Spider public class Cat extends Pet{ public Cat(String name) { super(name); } } public class Spider extends Pet{ public Spider(String name) { super(name, 8, 2); } }

Слайд 85


Функциональный интерфейс Expression Здесь определен функциональный интерфейс Expression, который имеет один метод. int getCount(Pet pet); Аргумент...
Описание слайда:
Функциональный интерфейс Expression Здесь определен функциональный интерфейс Expression, который имеет один метод. int getCount(Pet pet); Аргумент имеет тип объекта (мы хотим применять к экземпляру Pet), к которому применен метод тестирующего класса (см [5]), результат – тип возвращаемого значения (мы получаем int – количество лап или глаз). public interface Expression { int getCount(Pet pet); }

Слайд 86


Тестирующий класс public class test { public static void main(String[] args) { int n = 4; Pet[] p = new Pet[n]; p[0] = new Cat("Maya");...
Описание слайда:
Тестирующий класс public class test { public static void main(String[] args) { int n = 4; Pet[] p = new Pet[n]; p[0] = new Cat("Maya"); p[1] = new Spider("Bum"); p[2] = new Cat("Puma"); p[3] = new Cat("Sun"); System.out.println("nLegs = " + nCount(p, Pet::getCountLegs)); System.out.println("nEaes = " + nCount(p, Pet::getCountEaes)); } public static int nCount(Pet[] p, Expression s) { int result = 0; for (Pet i : p) { result += s.getCount(i); } return result; } }

Слайд 87


Пакеты в Java
Описание слайда:
Пакеты в Java

Слайд 88


Пакет – объединение классов и интерфейсов объединение родственных классов и интерфейсов; упрощение поиска классов и интерфейсов, выполняющих...
Описание слайда:
Пакет – объединение классов и интерфейсов объединение родственных классов и интерфейсов; упрощение поиска классов и интерфейсов, выполняющих определенные функции; исключение конфликта имен, каждый пакет имеет свое пространство имен; неограниченный доступ классов и интерфейсов, объединенных в пакет, друг к другу.

Слайд 89


Использование пакета Создание пакета оператор: package имя_пакета; Обращение к членам пакета из другого пакета имя_пакета.имя_класса; (полное имя...
Описание слайда:
Использование пакета Создание пакета оператор: package имя_пакета; Обращение к членам пакета из другого пакета имя_пакета.имя_класса; (полное имя класса) import имя-пакета.имя_класса; (импорт класса) import имя_пакета.*; (импорт целого пакета)

Слайд 90


Особенности импорта пакетов импорт по умолчанию - java.lang, текущий пакет, безымянный пакет; импорт только классов и интерфейсов данного пакета, но...
Описание слайда:
Особенности импорта пакетов импорт по умолчанию - java.lang, текущий пакет, безымянный пакет; импорт только классов и интерфейсов данного пакета, но не подпакетов: import имя_пакета.*; если два импортированных пакета имеют классы с одинаковыми именами, то необходимо использовать полное имя класса: import имя_пакета.имя_подпакета.*; импорт статических полей и методов.

Слайд 91


Иерархия пакетов Древовидная структура (иерархия) пакетов и подпакетов в точности отображается на структуру файловой системы. Все файлы с расширением...
Описание слайда:
Иерархия пакетов Древовидная структура (иерархия) пакетов и подпакетов в точности отображается на структуру файловой системы. Все файлы с расширением class (содержащие байт-коды), образующие пакет, хранятся в одном каталоге файловой системы. Подпакеты собраны в подкаталоги этого каталога.

Слайд 92


Лирика Структура исходного файла с текстом программы на языке Java: Необязательный оператор package. Необязательные операторы import. Описания...
Описание слайда:
Лирика Структура исходного файла с текстом программы на языке Java: Необязательный оператор package. Необязательные операторы import. Описания классов и интерфейсов. Правила: В файле только один открытый public-класс. Имя файла совпадает с именем открытого класса.

Слайд 93


Лирика Cod Conventions Pascal naming convention – все слова в имени начинаются с заглавной буквы, используется для именования классов; Camel naming...
Описание слайда:
Лирика Cod Conventions Pascal naming convention – все слова в имени начинаются с заглавной буквы, используется для именования классов; Camel naming convention – все слова в имени кроме первого начинаются с заглавной буквы, используется для именования полей и методов. public-класс записывается первым в файле.

Слайд 94


Обработка исключений
Описание слайда:
Обработка исключений

Слайд 95


Обработка исключений Исключительные ситуации (exceptions) могут возникнуть во время выполнения (runtime) программы, прервав ее обычный ход. К ним...
Описание слайда:
Обработка исключений Исключительные ситуации (exceptions) могут возникнуть во время выполнения (runtime) программы, прервав ее обычный ход. К ним относится деление на нуль, отсутствие загружаемого файла, отрицательный или вышедший за верхний предел индекс массива, переполнение выделенной памяти и масса других неприятностей, которые могут случиться в самый неподходящий момент.

Слайд 96


Обработка исключений Исключение в языке Java — это объект, который описывает исключительную (т. е. ошибочную) ситуацию, произошедшую в некоторой...
Описание слайда:
Обработка исключений Исключение в языке Java — это объект, который описывает исключительную (т. е. ошибочную) ситуацию, произошедшую в некоторой части кода. Когда исключительная ситуация возникает, создается объект, представляющий это исключение, и "вбрасывается" в метод, вызвавший ошибку.

Слайд 97


Обработка исключений Если в программе не описан обработчик исключения, то исключение захватывается обработчиком, заданным исполнительной системой...
Описание слайда:
Обработка исключений Если в программе не описан обработчик исключения, то исключение захватывается обработчиком, заданным исполнительной системой Java по умолчанию. Любое исключение, которое не захвачено программой, будет в конечном счете выполнено обработчиком по умолчанию.

Слайд 98


Обработка исключений Преимущества самостоятельной обработки исключений: позволяет фиксировать ошибку, предохраняет программу от автоматического...
Описание слайда:
Обработка исключений Преимущества самостоятельной обработки исключений: позволяет фиксировать ошибку, предохраняет программу от автоматического завершения.

Слайд 99


Обработка исключений в Java управляется с помощью пяти ключевых слов: try catch finally throw throws
Описание слайда:
Обработка исключений в Java управляется с помощью пяти ключевых слов: try catch finally throw throws

Слайд 100


try { try { Программные операторы, которые нужно контролировать относительно исключений } catch (ExceptionType1 exOb){ Операторы, обрабатывающие...
Описание слайда:
try { try { Программные операторы, которые нужно контролировать относительно исключений } catch (ExceptionType1 exOb){ Операторы, обрабатывающие исключение ExceptionType1, если оно возникло в блоке try } catch (ExceptionType2 exOb){ Операторы, обрабатывающие исключение ExceptionType2, если оно возникло в блоке try } finally { Операторы, которые должны быть выполнены перед возвратом из try-блока }

Слайд 101


Обработка исключений Когда вы используете множественные catch-операторы, важно помнить, что в последовательности catch-предложений подклассы...
Описание слайда:
Обработка исключений Когда вы используете множественные catch-операторы, важно помнить, что в последовательности catch-предложений подклассы исключений должны следовать перед любым из их суперклассов. Кроме того, в Java недостижимый код — ошибка.

Слайд 102


Иерархия классов исключений
Описание слайда:
Иерархия классов исключений

Слайд 103


Обработка исключений Error определяет исключения, перехват которых вашей программой при нормальных обстоятельствах не ожидается. Исключения типа...
Описание слайда:
Обработка исключений Error определяет исключения, перехват которых вашей программой при нормальных обстоятельствах не ожидается. Исключения типа Error применяются исполнительной системой Java для указания ошибок, имеющих отношение непосредственно к среде времени выполнения. Исключения типа Error обычно создаются в ответ на катастрофические отказы, которые, как правило, не могут обрабатываться вашей программой.

Слайд 104


Обработка исключений Exception - используется для исключительных состояний, которые должны перехватывать программы пользователя. Собственные заказные...
Описание слайда:
Обработка исключений Exception - используется для исключительных состояний, которые должны перехватывать программы пользователя. Собственные заказные типы исключений, создаваемые программистами, являются подклассами Exception RuntimeException, исключения этого типа определены автоматически и включают такие события, как деление на нуль, недопустимая индексация массива и т. п.

Слайд 105


Высокоуровневые методы информатики и программирования, слайд №105
Описание слайда:

Слайд 106


Высокоуровневые методы информатики и программирования, слайд №106
Описание слайда:

Слайд 107


Иерархия классов исключений
Описание слайда:
Иерархия классов исключений

Слайд 108


Высокоуровневые методы информатики и программирования, слайд №108
Описание слайда:

Слайд 109


Обработка исключений Программа может сама явно выбрасывать исключения, используя оператор throw. Общая форма оператора throw такова: throw...
Описание слайда:
Обработка исключений Программа может сама явно выбрасывать исключения, используя оператор throw. Общая форма оператора throw такова: throw ThrowableInstance; Здесь ThrowableInstance должен быть объектом типа Throwable или подкласса Throwable.

Слайд 110


Обработка исключений Два способа получения Throwable-объекта: использование параметра в предложении catch; создание объекта с помощью операции new....
Описание слайда:
Обработка исключений Два способа получения Throwable-объекта: использование параметра в предложении catch; создание объекта с помощью операции new. После оператора throw поток выполнения немедленно останавливается, и любые последующие операторы не выполняются. Затем просматривается ближайший включающий блок try с целью поиска оператора catch, который соответствует типу исключения. Если соответствие отыскивается, то управление передается этому оператору. Если нет, то просматривается следующее включение оператора try и т.д. Если соответствующий catch не найден, то программу останавливает обработчик исключений, заданный по умолчанию, и затем выводится трасса стека.

Слайд 111


Обработка исключений Если метод способен к порождению исключения, которое он не обрабатывает, он должен определить свое поведение так, чтобы...
Описание слайда:
Обработка исключений Если метод способен к порождению исключения, которое он не обрабатывает, он должен определить свое поведение так, чтобы вызывающие методы могли сами предохранять себя от данного исключения. type имя_метода(список параметров) throws список исключений { // тело метода } Все исключения (кроме Error, RuntimeException или любых их подклассов), которые метод может выбрасывать, должны быть объявлены в предложении throws. Если данное условие не соблюдено, то произойдет ошибка времени компиляции.

Слайд 112


Ссылки: Руководство по языку программирования Java (русский) документация по классам Java (English) (русский) (English)
Описание слайда:
Ссылки: Руководство по языку программирования Java (русский) документация по классам Java (English) (русский) (English)

Слайд 113


Перечисления enum
Описание слайда:
Перечисления enum

Слайд 114


Перечисления enum - набор логически связанных констант; - может быть объявлено вне класса. enum { // Список элементов }
Описание слайда:
Перечисления enum - набор логически связанных констант; - может быть объявлено вне класса. enum { // Список элементов }

Слайд 115


Перечисления: пример enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY }
Описание слайда:
Перечисления: пример 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); // MONDAY...
Описание слайда:
Перечисления: пример public class Program{ public static void main(String[] args) { Day current = Day.MONDAY; System.out.println(current); // MONDAY } }

Слайд 117


Перечисления: пример class Schedule{ String way; Day day; Schedule (String w, Day d){ way = w; day = d; } }
Описание слайда:
Перечисления: пример class Schedule{ String way; Day day; Schedule (String w, Day d){ way = w; day = d; } }

Слайд 118


Перечисления: пример public class Program{ public static void main(String[] args) { Schedule s1 = new Schedule("Moscow", Day.MONDAY);...
Описание слайда:
Перечисления: пример public class Program{ public static void main(String[] args) { Schedule s1 = new Schedule("Moscow", Day.MONDAY); Schedule s2 = new Schedule("Piter", Day.SUNDAY); Schedule s3 = new Schedule("Ufa", Day.MONDAY); ... } }

Слайд 119


Перечисления: пример switch (s1.day){ case MONDAY: System.out.println ("MONDAY"); break; case TUESDAY: System.out.println...
Описание слайда:
Перечисления: пример switch (s1.day){ case MONDAY: System.out.println ("MONDAY"); break; case TUESDAY: System.out.println ("TUESDAY"); break; ... }

Слайд 120


Методы перечислений: values() public class Program{ public static void main(String[] args) { Day[] days = Day.values() ; for (Day d : days) {...
Описание слайда:
Методы перечислений: values() public class Program{ public static void main(String[] args) { Day[] days = Day.values() ; for (Day d : days) { System.out.println(d); } } }

Слайд 121


Методы перечислений: ordinal() System.out.println(Day.FRIDAY.ordinal); // 4
Описание слайда:
Методы перечислений: ordinal() System.out.println(Day.FRIDAY.ordinal); // 4

Слайд 122


Конструкторы, поля и методы перечисления public class Program{ public static void main(String[] args) { System.out.println(Color.RED.getCode()); //...
Описание слайда:
Конструкторы, поля и методы перечисления public class Program{ public static void main(String[] args) { System.out.println(Color.RED.getCode()); // #FF0000 System.out.println(Color.GREEN.getCode());// #00FF00 }} enum Color { RED("#FF0000"), BLUE("#0000FF"), GREEN("#00FF00"); private String code; Color (String code){ this.code = code; } public String getCode() {return code;} }

Слайд 123


Обобщения (Generics)
Описание слайда:
Обобщения (Generics)

Слайд 124


Обобщения (Generics) обобщенные типы и методы позволяют нам уйти от жесткого определения используемых типов.
Описание слайда:
Обобщения (Generics) обобщенные типы и методы позволяют нам уйти от жесткого определения используемых типов.

Слайд 125


Обобщения: пример class Account { //T – универсальный параметр private T id; private int sum; Account(T id, int sum) { this.id = id; this.sum = sum;...
Описание слайда:
Обобщения: пример class Account { //T – универсальный параметр private T id; private int sum; Account(T id, int sum) { this.id = id; this.sum = sum; } public T getId() {return id;} public int getSum() {return sum;} public void setSum(int sum) {this.sum = sum;} }

Слайд 126


Обобщения: пример public class Program{ public static void main(String[] args) { Account acc1 = new Account("2345", 5000); String id1 =...
Описание слайда:
Обобщения: пример public class Program{ public static void main(String[] args) { Account acc1 = new Account("2345", 5000); String id1 = acc1.getId(); System.out.println (id1); Account acc2 = new Account(2345, 5000); int id2 = acc1.getId(); System.out.println (id2); }

Слайд 127


Обобщенные конструкторы public class Program{ public static void main(String[] args) { Account acc1 = new Account ("cid2373", 5000);...
Описание слайда:
Обобщенные конструкторы public class Program{ public static void main(String[] args) { Account acc1 = new Account ("cid2373", 5000); Account acc2 = new Account (53757, 4000); System.out.println (acc1.getId()); System.out.println (acc2.getId()); }} class Account { private String id; private int sum; Account (T id, int sum) { this.id = id.toString; this.sum = sum; } public String getId() {return id;} public int getSum() {return sum;} public void setSum(int sum) {this.sum = sum;} }

Слайд 128


Обобщенные методы public class Program{ public static void main(String[] args) { Printer printer = new Printer(); String[] people = {"Tom",...
Описание слайда:
Обобщенные методы public class Program{ public static void main(String[] args) { Printer printer = new Printer(); String[] people = {"Tom", "Alice", "Sam", "Kate"}; Integer[] numbers = {23, 4, 5, 2, 13, 456, 4}; printer.print(people); printer.print(numbers); }} class Printer{ public void print(T[] items){ for (T item: items){ System.out.println(item); } } }



Похожие презентации
Mypresentation.ru
Загрузить презентацию