🗊 Презентация Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1)

Нажмите для полного просмотра!
Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №1 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №2 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №3 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №4 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №5 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №6 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №7 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №8 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №9 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №10 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №11 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №12 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №13 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №14 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №15 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №16 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №17 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №18 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №19 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №20 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №21 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №22 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №23 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №24 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №25 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №26 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №27 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №28 Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1), слайд №29

Содержание

Вы можете ознакомиться и скачать презентацию на тему Программирование на Java. Параметризированные типы. Обобщения, Generics. (Лекция 6.1). Доклад-сообщение содержит 29 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

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


Слайд 1


Мультимедийный курс Программирование на Java Лекция 6.1 Параметризированные типы (Обобщения, Generics)
Описание слайда:
Мультимедийный курс Программирование на Java Лекция 6.1 Параметризированные типы (Обобщения, Generics)

Слайд 2


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

Слайд 3


Параметризированные типы Применение параметризированного класса: Gen iob = new Gen(88) ;
Описание слайда:
Параметризированные типы Применение параметризированного класса: Gen iob = new Gen(88) ;

Слайд 4


Параметризированные типы Аргумент типа, задаваемый при объявлении параметризированного типа – может быть только классом, а не примитивным типом !!!...
Описание слайда:
Параметризированные типы Аргумент типа, задаваемый при объявлении параметризированного типа – может быть только классом, а не примитивным типом !!! Разные аргументы:

Слайд 5


Параметризированные типы Пример1: Параметризированный класс с одним параметром типа:
Описание слайда:
Параметризированные типы Пример1: Параметризированный класс с одним параметром типа:

Слайд 6


Параметризированные типы Пример1: Параметризированный класс с одним параметром типа:
Описание слайда:
Параметризированные типы Пример1: Параметризированный класс с одним параметром типа:

Слайд 7


Параметризированные типы Пример1: Параметризированный класс с одним параметром типа:
Описание слайда:
Параметризированные типы Пример1: Параметризированный класс с одним параметром типа:

Слайд 8


Параметризированные типы Пример1: Параметризированный класс с одним параметром типа:
Описание слайда:
Параметризированные типы Пример1: Параметризированный класс с одним параметром типа:

Слайд 9


Параметризированные типы Параметризированный класс с несколькими параметрами типа:
Описание слайда:
Параметризированные типы Параметризированный класс с несколькими параметрами типа:

Слайд 10


Параметризированные типы Ограничения на типы, передаваемые параметру типа: В качестве верхней границы задается суперкласс, от которого должны быть...
Описание слайда:
Параметризированные типы Ограничения на типы, передаваемые параметру типа: В качестве верхней границы задается суперкласс, от которого должны быть унаследованы все аргументы типа: Gen Gen Аргументы параметра типа в этом случае: только тип Number или его подклассы Integer, Float

Слайд 11


Параметризированные типы Применение метасимвольных аргументов необходимо в случае, если параметр типа невозможно определить Метасимвол: ?
Описание слайда:
Параметризированные типы Применение метасимвольных аргументов необходимо в случае, если параметр типа невозможно определить Метасимвол: ?

Слайд 12


Параметризированные типы Пример class Stats { Т[] nums; Stats(T[] о) { nums = о; } // Вычисляет среднее арифметич. элементов массива double average()...
Описание слайда:
Параметризированные типы Пример class Stats { Т[] nums; Stats(T[] о) { nums = о; } // Вычисляет среднее арифметич. элементов массива double average() { double sum = 0.0; for (int i=0; i < nums.length; i++) sum += nums[i].doubleValue(); // метод кл. Number – приводит к // типу Double return sum / nums.length; } }

Слайд 13


Параметризированные типы Пример (продолжение) boolean sameAvg(Stats ob) { // любой объект типа Stats, // если Т, то ожидается тип передаваемый...
Описание слайда:
Параметризированные типы Пример (продолжение) boolean sameAvg(Stats ob) { // любой объект типа Stats, // если Т, то ожидается тип передаваемый вызывающим объектом if (average() == ob.average()) return true; else return false; } . . . Integer inums[] = { 1, 2, 3, 4, 5 }; Double dnums[] = { 1.1, 2.2, 3.3, 4.4, 5.5 }; Stats iob = new Stats(inums); Stats dob = new Stats(dnums); System.out.print("Средние арифметические iob и dob "); if (iob. sameAvg (dob) ) // вызывающий об. и параметр – // объекты одного класса System.out.println("совпадают."); else System, out.println("отличаются."); . . .

Слайд 14


Параметризированные типы Ограничение метасимвольных аргументов Задание верхней границы:
Описание слайда:
Параметризированные типы Ограничение метасимвольных аргументов Задание верхней границы:

Слайд 15


Параметризированные типы Пример static void showXYZ(Coords
Описание слайда:
Параметризированные типы Пример static void showXYZ(Coords

Слайд 16


Параметризированные типы Параметризированные методы могут иметь один или несколько собственных параметров типа могут создаваться и внутри...
Описание слайда:
Параметризированные типы Параметризированные методы могут иметь один или несколько собственных параметров типа могут создаваться и внутри непараметризированного класса могут быть как статическими, так и нестатическими Синтаксис записи возвр._знач. имя_метода(список_парам.) { ...} Пример: static boolean isIn(T х, V[] у) {

Слайд 17


Параметризированные типы Пример: // Параметризированный метод static boolean isIn(T х, V[] у) { for(int i=0; i < y.length; i++) if(x.equals(y[i]))...
Описание слайда:
Параметризированные типы Пример: // Параметризированный метод static boolean isIn(T х, V[] у) { for(int i=0; i < y.length; i++) if(x.equals(y[i])) return true; return false; } // Вызов метода public static void main(String args[]) { Integer nums[] = { 1, 2, 3, 4, 5 }; if(isIn(2, nums)) System.out.println("2 содержится в массиве"); }

Слайд 18


Параметризированные типы Пример: class GenCons { private double val; GenCons(T arg) { // Параметризированный только метод val = arg.doubleValue(); }...
Описание слайда:
Параметризированные типы Пример: class GenCons { private double val; GenCons(T arg) { // Параметризированный только метод val = arg.doubleValue(); } void showval() { System.out.println("val: " + val); } } class GenConsDemo { public static void main(String args[]) { GenCons test = new GenCons(100); GenCons test2 = new GenCons(123.5F); test.showval(); test2.showval(); } }

Слайд 19


Параметризированные типы Настраиваемые интерфейсы задаются так же, как настраиваемые классы interface MinMax { класс, реализующий интерфейс Class...
Описание слайда:
Параметризированные типы Настраиваемые интерфейсы задаются так же, как настраиваемые классы interface MinMax { класс, реализующий интерфейс Class MyClass implements MinMax {

Слайд 20


Параметризированные типы Иерархии параметризированных классов параметризированный класс может быть суперклассом или быть подклассом аргументы типа,...
Описание слайда:
Параметризированные типы Иерархии параметризированных классов параметризированный класс может быть суперклассом или быть подклассом аргументы типа, необходимые суперклассу, должны передаваться всем подклассам !!!

Слайд 21


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

Слайд 22


Параметризированные типы Применение настраиваемых типов в коллекциях все классы и интерфейсы, связанные с классами АrrayList, LinkedList и TreeSet -...
Описание слайда:
Параметризированные типы Применение настраиваемых типов в коллекциях все классы и интерфейсы, связанные с классами АrrayList, LinkedList и TreeSet - параметризированные: ArrayList list = new ArrayList(); преимущества: гарантируется сохранение в коллекции ссылок на объекты только нужного типа исключается необходимость явного приведения типа ссылки, при извлечении из коллекции

Слайд 23


Параметризированные типы Сравнение типов настраиваемой иерахии: операция объект instanceof тип возвращает true, если объект имеет заданный тип или...
Описание слайда:
Параметризированные типы Сравнение типов настраиваемой иерахии: операция объект instanceof тип возвращает true, если объект имеет заданный тип или м.б. преобразован к нему if (iOb instanceof Gen2) System.out.println("iOb совместим с Gen2"); Приведение типов: преобразование одного экземпляра параметризированного класса в другой (Gen) iob2 если они взаимно совместимы

Слайд 24


Параметризированные типы Реализация в Java обобщенных типов При компиляции: информация о обобщенных типах удаляется (эффект стирания) параметры типа...
Описание слайда:
Параметризированные типы Реализация в Java обобщенных типов При компиляции: информация о обобщенных типах удаляется (эффект стирания) параметры типа заменяются ограничивающими их типами (если заданы) либо Object все параметризованные классы используют один класс: Gen iOb = new Gen(99); Gen fOb = new Gen(102.2F); Systern.out.println(iOb.getclass () .getName()) ; System, out.println(fOb.getClass (). getName()); Результат: Gen Gen

Слайд 25


Параметризированные типы Поэтому нельзя: запрашивать тип в процессе выполнения программы public class MyList { public E[] toArray() { return new...
Описание слайда:
Параметризированные типы Поэтому нельзя: запрашивать тип в процессе выполнения программы public class MyList { public E[] toArray() { return new E[5]; // compile error } public boolean canAdd(Object o) { return (o instanceof E); // compile error –} public E convertToE(Object o) { return (E) o; // compile warning, unchecked cast } }

Слайд 26


Параметризированные типы Raw Type Можно создать объект настраиваемого (генефицированного) класса без указания типов аргументов Классы Pre-J2SE 5.0...
Описание слайда:
Параметризированные типы Raw Type Можно создать объект настраиваемого (генефицированного) класса без указания типов аргументов Классы Pre-J2SE 5.0 продолжают функционировать под J2SE 5.0 JVM как raw тип // ?????? List ls = new LinkedList(); // Raw type List lraw = new LinkedList();

Слайд 27


Параметризированные типы Ограничения T t = new T(); // конструктор ? Статические члены класса не могут использовать параметры типа static T t;...
Описание слайда:
Параметризированные типы Ограничения T t = new T(); // конструктор ? Статические члены класса не могут использовать параметры типа static T t; //??????

Слайд 28


Параметризированные типы Ограничения (продолжение) Создание экземпляров универсальных типов class Test { T values; //ok Test(T[] n) { values = new...
Описание слайда:
Параметризированные типы Ограничения (продолжение) Создание экземпляров универсальных типов class Test { T values; //ok Test(T[] n) { values = new T[10]; // базовый тип - параметр типа values = n; //ok } } Массивы Test iTest[] = new Test[10] // нельзя объявлять с аргументами типа Test iTest[] = new Test[10] //ok

Слайд 29


Параметризированные типы Ограничения (продолжение) Исключения Невозможно сгенерировать или перехватить исключение, описываемое универсальным объектом...
Описание слайда:
Параметризированные типы Ограничения (продолжение) Исключения Невозможно сгенерировать или перехватить исключение, описываемое универсальным объектом создать параметризированный класс, расширяющий класс Throwable использовать параметр типа в выражении catch Допустимо использовать параметр типа в выражении throws



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