Professional Documents
Culture Documents
Ileri Programlamaünite4 PDF
Ileri Programlamaünite4 PDF
Ileri Programlamaünite4 PDF
1
YBS306U-İLERİ PROGRAMLAMA
Ünite 4: Java’da Sınıf Tanımlama
iletilmemektedir. Argümanlı olan metotta ise argümanlar “süper” anahtar sözcüğü, this anahtar sözcüğü ile aynı
yaratıcı metota bilgi olarak aktarılmaktadır. mantıkta çalışır fakat bu sefer üst sınıfın üyelerine erişim
için kullanılır.
Eğer üst sınıfa ait bir metodu kendimize göre yeniden
tanımlıyor isek o metodun üstüne @Override işaretini Bir sınıftan yaratılmış tüm nesneler için ortak olmasını
koymak tavsiye edilir. Böyle bu metodun üst sınıfına ait istediğimiz değişken ya da metotları tanımlarken önüne
bir metot olduğu ayırt edilmiş olur. “static” anahtar sözcüğünü koyarız. Böylece bunlar sınıf
üyeleri olmuş olur.
Üç nokta yan yana ifadesini sadece metotların
parametreleri (argümanları) için kullanılabilir. Dolayısıyla Şu ana kadar hep static olmayan üye değişkenleri ve üye
üye değişkenler ve yerel değişkenler için bu gösterimi metotları kullandığımızı hatırlayalım. Bunlara ise örnek
kullanmak mümkün değildir. (instance) üye denir. Her yeni yaratılan nesne için örnek
değişkenler farklı olabilmektedir. Bazı durumlarda bütün
SınıfAdı::Fonksiyon ifadesi bir lambda ifadesidir ve Java
nesneler için ortak bir değişken tanımlamak isteyebiliriz.
8’in bir özelliğidir. Parametresi metot olan metotlar
Bu tür değişkenlere sabit alanlar veya sınıf değişkenleri
yazmak için kullanılır. Bir anlamda değişken olarak bir
denir. Bu tür değişkenlere erişmek için artık new ile yeni
metot kullanmayı mümkün kılan bu yeni teknoloji bu
nesne yaratmamıza gerek yoktur. Bunlara sınıfın ismi ile
ünitenin konularının dâhilinde değildir.
erişilebilir. Bu tür değişkenler genellikle sabit değerleri
Nesneler saklamak için kullanılır. Örneğin java.lang.Math sınıfı
Tipik bir Java programında birçok nesne yaratılır ve bu içinde e sayısını tutan değişken sınıf değişkenidir. Bu
nesneler birbirleriyle etkileşim içinde çalışarak birtakım değişkene erişmek için new Math() dememize gerek
işleri yerine getirirler. Bir nesne kendisine tanımlanan işi yoktur. Direk olarak Math.E ifadesi ile erişebiliriz.
tamamladığında ise bu nesnenin tükettiği ve kullandığı Örneğin, System.out.println(Math.E); kodu ekrana,
kaynak boşa çıkarılır. Böylece boşa çıkan bu kaynaklar 2.718281828459045 değerini yazdırır.
başka nesnelerin kullanımına açılmış olur. Nasıl static anahtar sözcüğü ile değişken
Her sınıfın en az bir tane yaratıcı metodu vardır. Eğer tanımlayabiliyorsak, aynı şekilde metot tanımlayabiliriz.
sınıfın içinde açık olarak hiç yaratıcı metot tanımlanmamış java. lang.Math sınıfı içindeki mutlak değer fonksiyonu
ise, hiç argümanı olmayan bir yaratıcı metot Java buna bir örnektir. Değişkenlerde olduğu gibi, bu metotlara
derleyicisi tarafından otomatik olarak sağlanır. Buna erişmek için new anahtar sözcüğüne gerek yoktur.
varsayılan yaratıcı metot denir. Varsayılan yaratıcı metot, Aşağıdaki örnek kod, -5 değerinin mutlak değerini
üst sınıfın argümansız yaratıcı metodunu çağırır. Bu hesaplar ve ekrana 5 yazdırır.
yüzden üst sınıfın argümansız bir yaratıcı metodu yoksa public static void main(String[] args) {
derleyici bu durumda hata verir. Ancak, açık olarak System.out.println(Math.abs(-5));
belirtilmemiş üst sınıf olmaması durumunda, örtük olarak }
üst sınıf java.lang.Object sınıfıdır ve bu sınıfın argümansız
yaratıcı metodu vardır. Bu tür metotlar genelde sadece parametre listesindeki
değişkenler üzerinde anlamlı işlemler yapan yardımcı
Çöp Toplayıcısı Java programlama dilinde yarattığınız metotlardır. java.lang.Math sınıfı içinde minimumu bulan,
nesnelerin kayıtlarını tutup daha sonra nesnelerle işimiz maksimumu bulan, ondalıklı sayıları yuvarlayan, gibi bir
bittiğinde onları yok etmekle uğraşmanıza gerek yoktur. çok static metot örneği bulunabilir. Eğer static olarak
Bu işlem çöp toplayıcısı tarafından otomatik olarak tanımlanmış değişkenlere ilk değer atamak istersek ve bu
yapılır. Eğer bir nesne artık kullanılmıyorsa otomatik tek satırdan daha uzun sürecek bir işlemse bunu static kod
olarak silinir. Bu işleme çöp toplama denir. Çöp toplama bloğu içinde yaparız. Örneğin, Anadolu Üniversitesinin
işlemi periyodik olarak uygun zamanlarda otomatik yapılır harf notlarının katsayı değerlerini içeren static bir dizimiz
ve bellek temizlenir. Java’da birkaç çeşit çöp toplayıcısı olsun. Bu dizinin ilk değerlerini aşağıdaki örnekteki
vardır ve programcı bunlardan hangisi kullanmak atayabiliriz. static metotlar, static olmayan üye
istediğini seçebilir. değişkenlere erişemezler.
Üye metotlar ve yaratıcı metotlar için, şu anki nesneye İç İçe Sınıflar
erişim “this” anahtar sözcüğü ile yapılır. En sık olarak üye
Java programlama dilinde bir sınıf tanımı içerisinde başka
değişken isimleri ile yaratıcı metodun parametre
bir sınıfı tanımlamak mümkündür. Bu şekilde tanımlanan
listesindeki değişkenleri ayırt etmek için kullanılır. this
sınıfa iç sınıf denir. İç sınıf dış sınıfın bir üyesidir. Bir iç
anahtar sözcüğü ile aynı isimlere sahip olmalarına rağmen
sınıf, dış sınıfın diğer bütün üyelerine erişebilir. Bu tür iç
farklı üye değişkenlerine farklı değişkeni atayabiliriz. Bir
sınıf tanımlamasını birbirleriyle alakalı sınıfları bir araya
başka kullanım ise this anahtar sözcüğünün bir yaratıcı
toplamak için kullanabiliriz. Böylece geliştirilen kodun
metodu çağırmak için kullanılabilmesidir.
okunabilirliği ve bakımı kolaylaşır.
Kaşlı ayraçlar içine alınmış kod bloğunda da sınıf
tanımlaması yapılabilir. Yerel sınıflar, iç sınıflara
2
YBS306U-İLERİ PROGRAMLAMA
Ünite 4: Java’da Sınıf Tanımlama