Java Programlama ve Kapsüllemede Nesne Yönelimli Yaklaşım - Bölüm 5


Bu serinin başlangıcından beri (ve hatta ondan önce de) Java'nın Nesne Yönelimli Programlama Dili olduğunu biliyordunuz. Nesneye yönelik Programlama Dili, verileri yöntemlerde nitelik olarak içeren “nesneler” kavramına dayanmaktadır.

Java'daki her nesnenin, örnek değişkenler ve yöntemlerle temsil edilen durumu ve davranışı vardır. Bir sınıfın her örneği, kendi örnek değişkeni için benzersiz bir değere sahip olabilir.

Örneğin,

Makine A Debian ile çalıştırılabilir ve 8 GB RAM'e sahip olabilirken Makine B, Gentoo'yu 4 GB RAM ile kurmuş olabilir. Ayrıca Gentoo'yu kurmuş olan Makineyi yönetmenin daha fazla bilgi gerektirdiği açıktır – onun durumuna göre hareket eden bir davranış. Burada yöntem örnek değişken değerlerini kullanıyor.

JVM bir sınıfı ayrıştırırken bu türden bir nesne oluşturur. Bir sınıf yazarken aslında bir derleyici gibi davranarak sınıfınıza nesnenin ne bilmesi gerektiğini ve nasıl davranması gerektiğini söylersiniz. Belirli bir türdeki her nesne, aynı örnek değişken için farklı bir değere sahip olabilir.

Bir sınıfın her Örneği aynı yönteme sahiptir ancak hepsinin farklı davranması mümkündür.

İşletim Sistemi sınıfı'nda İşletim Sistemi Adı, İşletim Sistemi Türü, İşletim Sistemi Kategorisi olmak üzere 3 Örnek değişkeni bulunur.

OS
OS_Name
OS_Type
OS_Category
Boot()
Reboot()
scan()

Boot() yöntemi, söz konusu örnek için İşletim Sistemi Adı ile temsil edilen bir işletim sistemini önyükler. Yani bir örnekte boot() yaparsanız Debian'a önyükleme yaparsınız, başka bir örnekte ise Gentoo'ya önyükleme yaparsınız. Yöntem kodu her iki durumda da aynı kalır.

Void Boot() 
	{
	bootloader.bootos(OS_Name);
	}

Programın main() yönteminden hemen sonra çalışmaya başladığını zaten biliyorsunuz. Değerleri yönteminize aktarabilirsiniz.

Örneğin, işletim sisteminize önyükleme sırasında hangi hizmetlerin başlatılacağını söylemek istersiniz:

You are already aware that the program starts to execute just after the main() method. You can pass values into you method. For example you would like to tell you OS what services to start at boot as:
OS.services(apache2);

Yöntemlere aktardığınız şeylere argümanlar denir. Bir yöntemin içinde türü ve adı olan bir değişken kullanabilirsiniz. Bir metodun parametre alması durumunda değerlerin parametre ile iletilmesi önemlidir.

OS deb = debian();
deb.reboot(600);

Burada işletim sistemindeki yeniden başlatma yöntemi, yönteme argüman olarak 600 değerini (makineyi 600 saniye sonra yeniden başlat) aktarır. Şu ana kadar metodun her zaman void döndürdüğünü gördük, bu da size hiçbir şey döndürmediği anlamına geliyor, basitçe:

void main()
	{
	…
	…
	}

Ancak derleyicinizden tam olarak istediğinizi elde etmesini isteyebilirsiniz ve derleyiciniz size yanlış türler döndürmeyecektir. Basitçe şunu yapabilirsiniz:

int Integer()
	{
	…
	…
	return 70;
	}

Bir metoda birden fazla değer değeri gönderebilirsiniz. Bunu iki parametre yöntemini çağırıp argümanlara göndererek yapabilirsiniz. Değişken tipinin ve parametre tipinin her zaman eşleşmesi gerektiğini unutmayın.

void numbers(int a, int b)
	{
	int c = a + b;
	System.out.print(“sum is” +c);
	}
Örnek Değişkenlerini Bildirin ve Başlatın

1. Başlatılacak değeri bilmediğinizde.

int a;
float b;
string c;

2. Başlatılacak değeri bildiğinizde.

int a = 12;
float b = 11.23;
string c = tecmint;

Not: Örnek değişkenler genellikle yerel değişkenlerle karıştırılır, ancak aralarında ayrım yapmak için çok ince bir çizgi vardır.

3. Örnek Değişkenler, bir yöntem içinde bildirilen yerel değişkenlerden farklı olarak bir sınıf içinde bildirilir.

4. Örnek Değişkenlerinden farklı olarak, yerel değişkenlerin kullanılmadan önce başlatılması gerekir. Yerel değişken başlatılmadan önce kullanılırsa derleyici hata bildirecektir.

Kapsülleme

Kapsüllemeyi duymuş olabilirsiniz. Verileri ve işlevleri tek bir bileşene bağlamayı mümkün kılan çoğu nesne yönelimli programlama dilinin bir özelliğidir. Kapsülleme sınıf tarafından desteklenir ve nesnelerin etrafında bir duvar oluşturarak kodları kazara hasara karşı korur ve seçici olarak özelliklerini ve yöntemlerini gizler.

Gerektiğinde doğru eğitimde kapsüllemeyi ayrıntılı olarak genişleteceğiz. Şimdilik kapsüllemenin ne olduğunu bilmeniz yeterli. Bu ne yapar? Peki nasıl oluyor?

Şimdilik bu kadar. Ben üzerinde çalışırken, bu Java Serisinin "Java'da sınıf ve nesneler ve Java'da İlk nesnenizi Oluşturun" sonraki bölümü için bağlantıda kalın. Diziyi ve gönderiyi beğendiyseniz geri bildirimde bize bildirin.