Merhaba arkadaşlar, Bu yazımızda sizlerle DO generic sınıfını inceleyeceğiz. Öncelikle generics nedir kısa bir özet geçelim. Generic sınıflar ve metodlar, farklı türlerle çalışabilen, tür güvenliği sağlayan ve kod tekrarını azaltan yapılardır.
Generic sınıflar ve metotlar, belirli türlerle sınırlanabilir veya sınırlanmayabilir. Sınırlamaları belirlemek için “<>” operatörünü kullanırız. Eğer bir yerde <> bu işaretler arasına alınmış bir kod parçacığı görüyorsunuz büyük ihtimalle generic bir sınıf veya metot görüyorsunuz demektir. Generic kullanımını anladık ve şimdi gelelim asıl konumuz olan DO generic kullanımına.
DO Generic nedir ?
DO generic bir sınıfın veya metotun belirli türlerle çalışmasını sınırlamak için kullanılır. Aşağıda ki kod bloguna bir göz atalım.
public class JavaDoSinifi<DO extends MyClass> { }
Peki bu kodun meali nedir ? Bu kodla aslında şunu diyoruz JavaDoSinifi yalnızca MyClass veya MyClass’tan türetilen diğer sınıflarla kullanılabilir. Özetle JavaDo sınıfına bir sınırlama getirmiş oluyoruz.
Peki neden böyle bir kullanıma ihtiyacımız var ?
JAVA‘da veri tipleri ve veri tipi güvenliği çok önemli bir konudur. Bu kullanımın amacı genellikle sınıfların veya metotların belirli türlerle çalışmasını güvence altına almak ve hatalı kullanımları önlemektir. Özellikle koleksiyon sınıfları veya veri yapıları gibi genellikle farklı türlerle çalışan sınıfların oluşturulmasında yaygın bir uygulamadır. Örneğin Seleniumda ki bir çok Abstract sınıfta bu kullanım çok karşınıza çıkar. Şimdi güzel bir örnek vererek konumuzu biraz daha netleştirelim.
public class JavaDoSinifi<DO extends MyClass> { public JavaDoSinifi(DO obj1) { } }
Burada JavaDo sınıfını yalnızca MyClass veya MyClasstan genişleyen sınıflardan kullanılması için bir sınırlama yaptık ve constructor metodumuzu oluşturduk. Şimdi bu sınıfın doğru kullanım için örnek kodumuz:
MyClass obj1 = new MyClass(); JavaDoSinifi<MyClass> ornekObje = new JavaDoSinifi<>(obj1);
Hatalı kullanım için örnek kodumuz:
MyClass obj1 = new KafamaGoreClass(); JavaDoSinifi<MyClass> ornekObje = new JavaDoSinifi<>(obj1);
Bu şekilde kullanmaya çalıştığımız ise “incompatible types” hatası verecektir.
Özetle Java’da tür kısıtlamaları yapmak için DO sınıfını kullanabilirsiniz ve böylece kodunuzu daha güvenli bir hale getirebilir, oluşabilecek hatalı kullanımlarıda önleyebilirsiniz. Eklemek veya düzeltmek istediğiniz kısımları yorum olarak yazabilirsiniz.
Bir sonraki yazımızda görüşmek üzere. Sevgilerle…
İlk Yorumu Siz Yapın