🗊Презентация 5. Java collections and Generics. 3. Generics

Нажмите для полного просмотра!
5. Java collections and Generics. 3. Generics, слайд №15. Java collections and Generics. 3. Generics, слайд №25. Java collections and Generics. 3. Generics, слайд №35. Java collections and Generics. 3. Generics, слайд №45. Java collections and Generics. 3. Generics, слайд №55. Java collections and Generics. 3. Generics, слайд №65. Java collections and Generics. 3. Generics, слайд №75. Java collections and Generics. 3. Generics, слайд №85. Java collections and Generics. 3. Generics, слайд №95. Java collections and Generics. 3. Generics, слайд №105. Java collections and Generics. 3. Generics, слайд №115. Java collections and Generics. 3. Generics, слайд №125. Java collections and Generics. 3. Generics, слайд №135. Java collections and Generics. 3. Generics, слайд №145. Java collections and Generics. 3. Generics, слайд №155. Java collections and Generics. 3. Generics, слайд №165. Java collections and Generics. 3. Generics, слайд №175. Java collections and Generics. 3. Generics, слайд №18

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

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


Слайд 1





5. Collections and Generics
3. Generics
Описание слайда:
5. Collections and Generics 3. Generics

Слайд 2





Generics Basics
JDK 5.0 introduces generics
Generics allow you to abstract over types
The most common examples are container types, such as those in the Collections hierarchy
Описание слайда:
Generics Basics JDK 5.0 introduces generics Generics allow you to abstract over types The most common examples are container types, such as those in the Collections hierarchy

Слайд 3





Generic Classes
public class ClassName<Т>{
    class body
}
Parametric type T can be used in the class body as usual type:
	private T a;
	public void set(T a) { this.a = a; }
	public T get() { return a; }
Описание слайда:
Generic Classes public class ClassName<Т>{ class body } Parametric type T can be used in the class body as usual type: private T a; public void set(T a) { this.a = a; } public T get() { return a; }

Слайд 4





Generic Objects
You need to set a type in <> when creating an object of generic class:
public class GenClass<Т>{
    . . . . .
}
GenClass<Integer> cInt = new GenClass<Integer>();
Описание слайда:
Generic Objects You need to set a type in <> when creating an object of generic class: public class GenClass<Т>{ . . . . . } GenClass<Integer> cInt = new GenClass<Integer>();

Слайд 5





How Generics Work
In the invocation all occurrences of the formal type parameter are replaced by the actual type argument
The compiler can check the type correctness of the program at compile-time
Primitive types cannot use as actual types
Описание слайда:
How Generics Work In the invocation all occurrences of the formal type parameter are replaced by the actual type argument The compiler can check the type correctness of the program at compile-time Primitive types cannot use as actual types

Слайд 6





Exercise. Print List
Create a class with list of objects of an arbitrary given class with two methods:
add for accumulation data in the list
printList with a boolean parameter to print odd or even elements of the list accordingly to parameter’s value
Описание слайда:
Exercise. Print List Create a class with list of objects of an arbitrary given class with two methods: add for accumulation data in the list printList with a boolean parameter to print odd or even elements of the list accordingly to parameter’s value

Слайд 7





Exercise. Print List
See 531FirstGeneric project for the full text
Описание слайда:
Exercise. Print List See 531FirstGeneric project for the full text

Слайд 8





Generics Inheritance
In general, if Sub is a subtype (subclass or subinterface) of Base, and G is some generic type declaration, it is not the case that G<Sub> is a subtype of G<Base>
Описание слайда:
Generics Inheritance In general, if Sub is a subtype (subclass or subinterface) of Base, and G is some generic type declaration, it is not the case that G<Sub> is a subtype of G<Base>

Слайд 9





Generic Interfaces
Generic interfaces are similar to generic classes:
public interface List<E>{    
	void add(E x);    
	Iterator<E> iterator();
} 
public interface Iterator<E>{    
	E next();    
	boolean hasNext();
}
Описание слайда:
Generic Interfaces Generic interfaces are similar to generic classes: public interface List<E>{ void add(E x); Iterator<E> iterator(); }  public interface Iterator<E>{ E next(); boolean hasNext(); }

Слайд 10





Generic Methods
Type parameters can also be declared within method and constructor signatures to create generic methods and generic constructors:
		public <U> void inspect(U u){ . . . }
Type inference feature allows you to invoke a generic method as you would an ordinary method, without specifying a type between angle brackets
Описание слайда:
Generic Methods Type parameters can also be declared within method and constructor signatures to create generic methods and generic constructors: public <U> void inspect(U u){ . . . } Type inference feature allows you to invoke a generic method as you would an ordinary method, without specifying a type between angle brackets

Слайд 11





Generic Method Example
class ArrayAlg
{
   public static <T> T getMiddle(T[] a) 
   {
      return a[a.length / 2];
   }
}
You can define generic methods both inside ordinary classes and inside generic classes
Описание слайда:
Generic Method Example class ArrayAlg { public static <T> T getMiddle(T[] a) { return a[a.length / 2]; } } You can define generic methods both inside ordinary classes and inside generic classes

Слайд 12





Generic Method Call
When you call a generic method, you can place the actual types, enclosed in angle brackets, before the method name:
String[] names = { "John", "Q.", "Public" };
String middle = ArrayAlg.<String>getMiddle(names);
Описание слайда:
Generic Method Call When you call a generic method, you can place the actual types, enclosed in angle brackets, before the method name: String[] names = { "John", "Q.", "Public" }; String middle = ArrayAlg.<String>getMiddle(names);

Слайд 13





Wildcards
What is the supertype of all kinds of collections?
Collection<Object> is not such supertype due to generics inheritance rule
Collection<?> (pronounced "collection of unknown"), that is, a collection whose element type matches anything
Описание слайда:
Wildcards What is the supertype of all kinds of collections? Collection<Object> is not such supertype due to generics inheritance rule Collection<?> (pronounced "collection of unknown"), that is, a collection whose element type matches anything

Слайд 14





Bounded Wildcards
? extends class_name 
? stands for an unknown type
that this unknown type is a subtype of class_name 
example: List<? extends Shape>
Code <? super class_name > would be read as "an unknown type that is a supertype of class_name, possibly class_name itself
Описание слайда:
Bounded Wildcards ? extends class_name ? stands for an unknown type that this unknown type is a subtype of class_name example: List<? extends Shape> Code <? super class_name > would be read as "an unknown type that is a supertype of class_name, possibly class_name itself

Слайд 15





Bounded Wildcards Example
public static double sumOfList(List<? extends Number> list) { 
		double s = 0.0; 
		for (Number n : list) s += n.doubleValue(); 	return s; 
}
Описание слайда:
Bounded Wildcards Example public static double sumOfList(List<? extends Number> list) { double s = 0.0; for (Number n : list) s += n.doubleValue(); return s; }

Слайд 16





Home Exercise 5.3.2 ( 1 of 2) 
Create TBill class that saves deal for buying treasury bills (nominal, price, amount of bills, maturity date) and calculating deal income as follows:
	income = (nominal – price) * amount
Описание слайда:
Home Exercise 5.3.2 ( 1 of 2) Create TBill class that saves deal for buying treasury bills (nominal, price, amount of bills, maturity date) and calculating deal income as follows: income = (nominal – price) * amount

Слайд 17





Home Exercise 5.3.2 (2 of 2) 
Create DealAnalisys class that saves deals of any type (depo – single, barrier, month capitalization, TBill)
Create compareIncome method that compares yield of the deal that saved in the class object and deal given as method’s parameter
Описание слайда:
Home Exercise 5.3.2 (2 of 2) Create DealAnalisys class that saves deals of any type (depo – single, barrier, month capitalization, TBill) Create compareIncome method that compares yield of the deal that saved in the class object and deal given as method’s parameter

Слайд 18





Manuals
http://docs.oracle.com/javase/tutorial/extra/generics/index.html
Описание слайда:
Manuals http://docs.oracle.com/javase/tutorial/extra/generics/index.html



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