Press "Enter" to skip to content

Tag: üreysel

Effective Java Madde 31: API Esnekliğini Artırmak İçin Sınırlandırılmış Joker (bounded wildcard) Kullanın

Madde 28’de anlatıldığı üzere parametreli türler arasında hiçbir koşulda alt tür/üst tür ilişkisi bulunmaz. Örneğin String türü Object‘in bir alt türü olmasına rağmen, List<String> ile List<Object> arasında böyle bir ilişki bulunmaz. List<Object> içerisine istediğiniz türden nesneleri koyabilirsiniz ama List<String> sadece String türünden nesneler içerebilir. Bu durumda List<String> türü, List<Object> türünün…

Share
Leave a Comment

Effective Java Madde 29: Üreysel Türleri Tercih Edin

JDK tarafından sağlanan üreysel türleri (generic types) ve metotları kullanmak çok zor olmasa da, kendiniz üreysel türler yazmak istediğinizde biraz zorlanabilirsiniz ama bunu öğrenmeniz çok faydalı olacaktır. Şimdi Madde 7’deki basitleştirilmiş yığıt (stack) gerçekleştirimine bakalım: Bu sınıf en başından beri üreysel olmalıydı ama sonradan mevcut istemcilere zarar vermeden üreysele dönüştürmek…

Share
2 Comments

Effective Java Madde 28: Listeleri Dizilere Tercih Edin

Dizilerin, üreysel türlerden iki önemli farkı vardır. Birincisi, diziler covariant üreysel türler ise invariant olarak tanımlanır. Peki bu ne demektir? Örneğin, Sub türü Super türünün bir alt türü ise (kalıtıyorsa veya arayüz olarak uyguluyorsa), Sub[] dizi türü de Super[] dizi türünün alt türüdür. Üreysel türlerde ise Type1 ve Type2 herhangi…

Share
3 Comments

Effective Java Madde 26: Ham (raw) Türleri Kullanmayın

Tanımında bir veya birden fazla tür parametresi bulunduran sınıf veya arayüzlere üreysel (generic) sınıf veya arayüz denir. Örneğin, List arayüzü E isminde, listedeki elemanların türünü temsil eden bir tür parametresi bulundurur. Burada üreysel arayüzün tam adı List<E> olmaktadır. Üreysel sınıflar ve arayüzler toplu olarak üreysel türler olarak anılırlar. Her üreysel…

Share
3 Comments
%d bloggers like this: