elektrik port üyelik servisleri elektrik port üyelik servisleri

JAVA:
Kalıtım Bölüm 1|
Elektrikport Akademi

Bu dersimizde başka bir sınıfın özelliklerine nasıl ulaşabileceğimizi göreceğiz. Böylelikle yeni sınıflar yazmadan var olan sınıfların özelliklerini kolaylıkla kullana bileceğiz.



A- A+
06.11.2012 tarihli yazı 6855 kez okunmuştur.

Javada kalıtım sayesinde bir başka sınıfın bütün özelliklerine kolaylıkla ulaşabiliriz. Nasıl ki bir oğul babasının kalıtsal özelliklerini kullanabiliyorsa Javada kalıtım veya bir başka değişle türetme kullanarak bir sınıfın karekteristik özelliklerini kullanabiliriz.

public class Oğul extends Baba

Oğul: alt sınıf veya Türemiş sınıf

Baba: Üst sınıf veya Türetilen sınıf

"extends" anahtar kelimesiyle türetme yapılır. Yani Oğul sınıfı Baba sınıfının özelliklerine erişebilecektir.

Örnek bir kodla konuyu pekiştirelim.

public class Baba {  //türetme yapacağım Baba sınıfı. Babanın soyismi ve memleketi oğula yansıyacaktır.

private String soyisim;
private String memleket;
public Baba(String soyisim1,String memleket1){ // kurucu metod kullanıyorum
this.soyisim=soyisim1;
this.motherland=memleket1;
}
public String ekle(){

return this.soyisim.concat(memleket); //soyisimi memlekete ekliyorum
}
}
Şimdi Babadan türeteceğimiz Oğul sınıfını yazalım.

public class Oğul extends Baba { //Oğul sınıfı Babadan türüyor.

public Oğul(String soyisim1, String motherland1) { //kurucu metod

"super" anahtar kelimesiyle üst sınıf yani Babanın kurucu metodona ulaşıyorum. biz bu türetmeyi yaparsak java eclipse otomatik olarak super'i getirir.

super(soyisim1, motherland1);

}
public static void main(String[] args) {

Oğul o=new Oğul("cem", "ankara");
System.out.println(o.ekle());  // Oğul sınıfında "ekle" metodu olmamasına rağmen türetme yaparak  aslında Baba sınıfına ait bir metodu kullanabildim.

}

}

Java'da Çoklu Kalıtım Yoktur

Baba hem Oğul-1 hemde Oğul-2 sınıfının üst sınıfı olamaz. yani baba sınıfını tek bir sınıf için türebilirsiniz. (bir babanın ancak bir çoçuğu oluyor javada)

Başka bir örnek verelim

public class Array1 {

int array[];
public Array1(int array1[]){
this.array=array1;
}
public void TekGöster(){
for (int i = 0; i < array.length; i++) {
if(array[i]%2==1)
System.out.println(array[i]);
}
}

}
public class TekDizi extends Array1 {

public TekDizi(int[] array1) {
super(array1);
// TODO Auto-generated constructor stub
}

public static void main(String[] args) {

int array[]=new int [10];
for (int i = 0; i < array.length; i++) {
array[i]= (int)Math.random()*100;
}
TekDizi td=new TekDizi(array);
td.TekGöster();
}}

 

Mehmet Cem Ateş Mehmet Cem Ateş Yazar Hakkında Tüm yazıları Mesaj gönder Yazdır



Aktif etkinlik bulunmamaktadır.
ANKET
Endüstri 4.0 için En Hazır Sektör Hangisidir

Sonuçlar