Index of / Hasan Ünlü KILINÇ

Fantastic World and Software Fetishist

Science & Art & Philosophy

Contact Me

Name Date
Java – Super() Metodu

Java – Super() Metodu

200px-Java_logoMerhaba arkadaşlar yaklaşık bir aydır birşeyler yazamıyorum yoğunluktan 🙂 Daha geçen yaz saatlerce knight online oynarken şimdi 1 saat bile oynayamamak insanı sıkıyor tabi 🙂 Neyse bugün arkadaşlar Java’nın super() metodununu göreceğiz  başlığı atarken düşündüm acaba yanlıl anlaşılır mı diye hani ‘Java’nın Müşthiş metodu’ – ‘Java’nın en iyi metodu’ tarzında birşey değil 🙂 ama  gerçekten iyi bir metot  🙂

super() metodu

Bir alt-sınıf ne zaman üst-sınıfına erişmek isterse super anahtar sözcüğünü kullanabilir. super ‘in kullanımı iki türlü olur. Birincisi, üst-sınıfa ait nesne yaratmak içindir. İkincisi, üst-sınıfın öğelerine erişmek içindir. Bundan sonraki örneklerde, bu işlerin nasıl yapıldığını göreceğiz.

Üst-sınıfa ait nesne yaratma:

Bir alt-sınıf, super() metodunu kullanarak, üst sınıfının bir nesnesini yaratabilir ve onun değişkenlerine değer atayabilir. AltKutu sınıfında ust-kutuya ait anlık değişkenleri kullanarak nesne yarattık. Üst-sınıfın iç-değişkenleri private olmadığı sürece, bunu yapmak mümkündür. Ama, üst-sınıfın değişkenleri private damgalı olduğunda, alt-sınıftaki kodlar, onlara erişemeyecektir. Çoğunlukla, üst-sınıfın öğelerinin private olmasını isteriz. Böylece üst-sınıfın yapısını diğer sınıflardan saklarız. Buna encapsulation denir. Bu durumlarda, üst-sınıfın öğelerine erişmenin yolu super()metodunu kullanmaktır.

Bir alt-sınıf içinde üst-sınıfa ait bir nesne yaratmak için sözdizimi şöyledir:

super(formal_parametreler_listesi);

Üst-sınıfta overload edilmiş constructor metotları varsa, alt-sınıftan super() metodu ile onların her birisi çağrılabilir.  Çağrıda, formal parametreler listesine, üst-sınıfa ait olarak yaratılacak nesneyi belirleyecek gerçek parametreler konur. Bu demektir ki, üst-sınıfta overload edilen constructor’lardan hangisi isteniyorsa, onun parametreleri yerine gerçek değerler konulur. Ancak, super() metodu alt-sınıftaki constructor içine ilk deyim olarak yazılmalıdır; çünkü constructor çağrılınca ilk işi nesneyi yaratmaktır. Nesne yaratılmadan, onunla ilgili hiçbir iş yapılamaz.

Aşağıdaki örnek, AltKutu sınıfında bir yapıcı (constructor metodu) tanımlamaktadır. Yapıcı içinde tanımlanan AltKutu constructoru, super() metodunu çağırmaktadır. super() metodu, üst-sınıfa ait bir nesne constructor yerine geçer. Üst-sınıfta overload edilmiş constructorlar tanımlı ise, hangisini çağıracağını, kullanılan parametreler belirler. Çünkü, java derleyicisi overload edilen fonksiyonları, parametreleri yardımıyla birbirinden ayırır.

/* super() metodunun kullanılışı:

alt-sınıf, super() metodunu kullanarak

üst-sınıfın bir nesnesini yaratabilir ve

onun değişkenlerine değer atayabilir.

*/

class AltKutu extends Kutu {

double agr;  //kutu’nun ağırlığını tutacak değişken

/* super() metodu ile en, boy ve yukseklik

değerlerine atama yapıyor. */

AltKutu(double e, double b, double y, double a) {

super(e, b, y); // ust-sınıfa ait constructor’u çağrılıyor

agr = a;

}

}

 

Arkadaşlar yazımızın devamıda var ancak buradan yazmak sakat olacağı için docx halini indirmeniz için bir link hazırladım. Bunu indirmek için TIKLAYINIZ JAVA super() metodu


Tags: , ,


Leave a Reply