Selam arkadaslar.Benim size constructor ile alakali 1 sorum var.sorum asagidaki gibidir.COnstructorlarda super ve this tam olarak ne ?Yani biliyorumki sub classin super()-i super class-in constructorunu cagiriyor.

Given:
 1. class Super {
 2. private int a;
 3. protected Super(int a) { this.a = a; }
 4. } ...
  5. class Sub extends Super {
  6. public Sub(int a) { super(a); }
  13. public Sub() { this.a = 5; }
  14. }

Which two, independently, will allow Sub to compile? (Choose two.)

  A. Change line 2 to:
  public int a;
  B. Change line 2 to:
  protected int a;
  C. Change line 13 to:
  public Sub() { this(5); }
  D. Change line 13 to:
  public Sub() { super(5); }
  E. Change line 13 to:
  public Sub() { super(a); }

soruldu: 01 Haz '12, 10:10

hale's gravatar image

hale
127343642
cevap kabul oranı: 0%

değiştirildi: 01 Haz '12, 13:08

%C3%B6zcanacar's gravatar image

özcanacar ♦♦
17.2k59183183

Arkadaslar ben kodu yaziyorum ama yan yana gosteriyor.onu nasil yazayim?

(01 Haz '12, 10:13) hale hale's gravatar image
1

Lütfen soru seklinde ve kucuk harfle basliklar yaziniz! Lütfen btsoru.com kullanim kilavuzunu okuyunuz!

http://btsoru.com/questions/1339/btsorucom-kullanm-klavuzu

(01 Haz '12, 11:44) CemIkta ♦ CemIkta's gravatar image

java kodunu eklemeden once editor toolbar'indan kod örnegi butonuna tiklayip kodlari bu kod örnegi arasina yazin. O zaman kod olarak gosterir.

(01 Haz '12, 11:45) CemIkta ♦ CemIkta's gravatar image

Selamlar; constructor metodu sınıf ismi ile aynı adı taşıyan geri dönüş tipi olmayan , argüman alabilen ve public private ya da protected olarak tanımlanabilen bir metotdur. Eğer constructor tanımlanmaz ise java otomatik olarak sizin yerinize boş bir constructor tanımlar.

this anahtar kelimesi sınıfın kendini işaret eder. Örneğin

public class deneme{

private int degisken; public deneme(int degisken){ this.degisken = degisken }

}

sınıfında iki adet degisken isimli int tipinde değişkenimiz var . Bunlardan sınıf değişkenine (ya da bir metota) erişmek için this kullanırız . bu şöylede olabilir.

public class deneme{

private int dgskn; public deneme(int degisken){ dgskn = degisken; }

}

yukarıda ki örnekte sınıf degiskeni ve argüman olarak gelen degisken farklı olarak tanımlandıgı icin this kullanmayabiliriz.

Metot olan this() : Metot olan this bize sınıfın kendi constractorunu cagirmamiza yarar.

metod olan super() bize üst sınıfın yapıcısını (constructor) cagirmamiza yarar yine anahtar kelime olan super ise üst sınıfa ait private olmayan metot ve degiskenlere erişmemizi sağlar

Aşağıdaki örnekte extend edilen testClass'indaki (üst sınıf) a degiskenine testClass2 yapıcısı içinde 10 yüklüyorum ve super anahtar kelimesi aracılğı ile onu cagiriyorum.

public class testClass {

protected int a; public testClass(int a) { this.a = a; }
}

public class testClass2 extends testClass{

public testClass2(int a) { super(a); System.out.println(super.a); }

/* * @param args / public static void main(String[] args) { testClass2 test = new testClass2(10); }

}

dilim döndüğünce anlatmaya çalıştım umarım faydalı olmustur.

permanent link

cevaplandı: 01 Haz '12, 19:26

oksuz's gravatar image

oksuz
126348
cevap kabul oranı: 33%

değiştirildi: 01 Haz '12, 19:40

benden önceki arkadaş kod kullanarak anlatmış ama bence obje yönelimli programlamayı obje sınıflandırmasıyla ilişkilendirmek bu işi halletmenin en kolay yolu :)

mesela kamyon ve taşıt sınıfı düşün. her taşıtın motoru, farı, kornası vardır. kamyon da bir taşıt olduğu için kamyonunda motoru, farı, kornası olması gerekir. Her sınıf için bu özellikleri ayrı ayrı belirleyeceğine kamyon bu özellikleri super methodu ile taşıt sınıfından alıyor.

constructor'ı ise oluşturulacak objeler için bir tür model olarak düşün. mesela sen kamyon sınıfında oluşturduğun bir contructor'a beton mikseri özelliği, diğerine de yük kasası özelliği verirsen. Kullandığın constructor'a göre oluşturduğun kamyon objesi miksere veya kasaya sahip olur.

gerçek hayattaki sınıflandırmaları sınıf isimlerine uyarlarsan obje yönelimli programlama kesinlikle sıkıntı çıkarmaz.

*ps: this anahtar kelimesi ise constructor'ın class'ın içinde fakat methodların ve constructor'ın içinde olmayan ve access right'ı private ve protected olan değerlere erişilmesi için kullanılır.

permanent link

cevaplandı: 02 Haz '12, 15:04

Timur%20Aykut%20YILDIRIM's gravatar image

Timur Aykut YILDIRIM
371325047
cevap kabul oranı: 14%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×1,076

Soruldu: 01 Haz '12, 10:10

Görüntüleme: 945 kez

Son güncelleme: 02 Haz '12, 15:04

powered by BitNami OSQA