Java da Enum Yapısı

By Burak TUNGUT - 21.11.2012 - Kategori Java

Bu makale ile Java da Enum yapısını ve kullanım biçimini inceleyip, küçük bir örnek yapacağız.
Enum yapılarını nerede kullanıp, deklare edebileceğimizi bu makale ile görüp tıpkı sınıflar için yaptığımız getter ve setter methodlar ile benzerliğini göreceğiz.

İlişkisel bir veritabanı için arayüz yazdığımızı düşünelim ve yapılan yorumların onaydan geçmesini istiyoruz. Bu durumda yorumDurumu gibi bir hücrenin alabileceği değerler 1, 2 ve 3 olsun. Sırasıyla bu değerler Onaylandığını, Onay Beklediğini ve Rededildiğini belirtsin.

Böyle bir projeyi tasarlarken bir de komplex bir mimari olduğunu düşünürsek gerek siz yazarken gerek de proje bakımı yapılırken 1 değerinin Onaylandığı anlamına geldiğini bilmiyor ya da hatırlamıyor olabilirsiniz.

İşte tam da bu örnek için aşşağıdaki gibi bir enum yapısı tanımlıyoruz,

 

public enum OnayDurum
	{
		Onaylandı (0), Bekliyor (1), Rededildi (2);
		private int durum;
		private OnayDurum(int durum)
		{
			this.durum=durum;
		}
		public int getOnay()
		{
			return durum;
		}
	};

Söz konusu kullanacağımız durumların isimlerini hatta Türkçe karakter de kullanarak ismini ve parantez içinde ona aktarılcak değeri yazabiliriz. Ardından sanki bir class yazıpta türetilecekmiş gibi bu değeri dışa aktarcak bir private değişken deklare ediyoruz ve bu değişken için getter method yazıyoruz.
Dikkat! Setter methodumuz yapılandırıcı method niteliğinde olmalı yani enum yapısına verdiğimiz isim ile aynı isimde ve private olmalıdır!

Main methodunda ise enum yapısını nasıl kullanacağımızı görelim. Yazdığım 2 satır da eşdeğerdir. Yani isterseniz tanımladığımız getOnay methodu çağırabilir ya da direk deklare ettiğimiz değişkenden değer alabilirsiniz.

 

public static void main(String[] args) {

		System.out.println(OnayDurum.Onaylandı.getOnay());
		System.out.println(OnayDurum.Bekliyor.durum);

	}

 

Ekran çıktısı sırasıyla 0 ve 1 olacaktır.

 

 

Bir sonraki makalem de görüşmek üzere, esen kalın :)

H.Burak TUNGUT
Bilgisayar Mühendisliği Öğrencisi
www.buraktungut.com

Yorum Bırak

Facebook
Son Yorumlar