Temel Java 4. Gün: Sınıflar, Nesneler
Sınıflar
Sınıfları nesneler tasarlamaya/oluşturmaya yarayan planlar gibi düşünebiliriz.
Bir bina için teknik proje (farklı bir ismi varsa bilmiyorum.) ne ise, nesnelerimiz hatta genel yazılım tasarımımız için sınıflar da o derece önemlidir.
Eğer sınıflar hakkında daha fazla teorik bilgi/örneğe ihtiyaç duyarsanız önceki serilerden sınıflar ve nesneler kısımlarına bakabiliriz.
Böylelikle diller arasındaki benzerliği de keşfetmiş olursunuz. Bağlantılar;
Temel C++ - 4. Gün: Sınıflar, Nesneler
Temel Python - 6. Gün: Nesneler ve Sınıflar
Temel C# - 5. Gün: Sınıflar
Özetlemek gerekirse temel olarak sınıfları dört ana parçaya ayırabiliriz. Bunlar;
- Üye değişkenler (özellikler olarak da adlandırılabilir.)
- Üye metodlar (davranışlar olarak da adlandırılabilir.)
- Yapıcı metod (constructor)
Son madde olan yapıcı metodu üye metodlar içinde de sınıflayabiliriz.
Bu metodu özetle nesne oluşturulduğunda çağrılan metod olarak tanımlayabiliriz.
Not: Java nesnelerin tam olarak ne zaman yok edildiğini/edileceğini tam olarak kestiremediğimiz çöpçü (garbage collector) altyapısına sahip bir dil olduğu için yıkıcı metod veya tam olarak eş değeri bildiğim kadarıyla bu dilde bulunmuyor.
(finalize, dispose gibi metodlar mevcut fakat aynı işi gördüğünden veya aynı mantığa sahip olduğundan emin olmadığım için onlardan bahsedemiyorum.)
Temel sınıf tanımlanışı;
1 | erisimBelirteci class sinifIsmi { |
Şimdi yukarıdaki tanımlanışı örnek alarak basit bir kedi sınıfı oluşturalım;
1 | package com.isiksistem; |
Nesneler
Nesneleri sınıflar aracılığı ile oluşturulan özelliklere (değişkenlere) ve davranışlara (metodlara) sahip yapılar olarak düşünebiliriz.
Örneğin yukarıdaki Kedi sınıfımızdan bir nesne oluşturalım;
1 | package com.isiksistem; |
Çıktımız şu şekilde olacaktır;
1 | Bir kedi nesnesi oluşturuldu. |
Sınıflar ve nesnelerden şimdilik bu kadar. Sonraki bölümde görüşmek üzere.
Sonraki Bölüm: Paketler, Kalıtım, Arayüzler:
Temel Java - 5. Gün: Paketler, Kalıtım, Arayüzler