Java ile Enum - Kalıtım Konusu
Enum ifadesi bir takım değerlerin listesini tutan ifadelerdir. Her değerin bir adı vardır. Bu değerler ve isimleri programın açık kaldığı süre boyunca tutulur. Şimdi sizlere bunun nasıl olduğunu anlataacağım...Aslında Enum ifadesi bizim bildiğimiz Kalıtım ifadesidir.
Sabitler : Programda kullanacağımız sabit olan değerleri tutarlar ve asla değiştirmezler. Şimdi bir program yapalım ve enuların önemini ve kullanımını görelim. Enum ifadelerin üç tane sabit durumu olsun ve adlarıda The,Kod,Program olsun.Bir değişken oluşturup onu Kod değerine eşitleyeceğim ve ardından test ederken eğer Kod esitse ekrana bişeyler yazdıracağım. diğerlerine eşit değilse yazdırmayacağım.
Sonuçta nemi Oldu? Benim istediğim değerle eşleştiği için ekranada programda belirlediğim rastgele değeri yazdı :) Hadi şimdi bununla ilgili örneğimize geçelim
public class Program {
enum Kalitim{
The,
Kod,
Program
}
public static void main(String[] args) {
// Bunu bir değişkene atıyorum ve Kod olana eşitliyorum
Kalitim k = Kalitim.Kod;
// Kalıtımın birinci değişkeni kontrol ediliyor eğer o ise ekrana bir yaz diyoruz
if (k == Kalitim.The) {
System.out.println("The");
} else if (k == Kalitim.Kod) { //burda ikincisi
System.out.println("Kod");
} else if (k == Kalitim.Program) { //burda üçüncüsü
System.out.println("Program");
}
}
}
Kod
Değiştirme Metodu: Enum değerlerini çağırırken onların tiplerinide çağırırız. Ve burda değiştirme yapabiliriz. Bizim bunları "unqualified" sabitleri olarak tanımlamamız gerekmektedir.
Qualified: Bu nesneleri enum kalıtım adıyla beraber çağırırız. Örnek : Kalitim.The
Unqualified: Bu nesneleri ise direk çağırabiliriz. Örnek: The
Şimdi bununla ilgili bir örnek yapalım
public class Program {
enum Deger {
The, Kod, Program
}
static void test(Deger deger) {
// Değiştirme metodu ile Switch kalıtım sınıfını kontrol ediyoruz
switch (deger) {
case The:
System.out.println("The");
return;
case Kod:
System.out.println("Kod");
return;
case Program:
System.out.println("Program");
return;
}
}
public static void main(String[] args) {
// Metodu çağırıp içine değer gönderiyoruz
test(Deger.The);
test(Deger.Kod);
}
}
The
Kod
Burak Hamdi tufan
İyi Çalışmalar
Comments