• 11.03.2023
  • 343
  • Java KalıtımYazılı Ders

Java Kalıtım

Buradaki örnekte basit bir örnek var.

// public class AltSınıf extends ÜstSınıf

// kalıp bu şekilde properties üst sınıftan ekleniyor

3 adet sınıf ekleyiniz.

Arac Class Java Code:

package com.example.kalitim;

public class Arac {

    private Integer kapiSayisi;
    private Integer maksimumHiz;
    public Integer getKapiSayisi() {
        return kapiSayisi;
    }
    public void setKapiSayisi(Integer kapiSayisi) {
        this.kapiSayisi = kapiSayisi;
    }
    public Integer getMaksimumHiz() {
        return maksimumHiz;
    }
    public void setMaksimumHiz(Integer maksimumHiz) {
        this.maksimumHiz = maksimumHiz;
    }
    public String kapiSayisiniGoster(){
        return "Aracın kapı sayısı : " + this.kapiSayisi.toString();
    }
    public String maksimumHizGoster(){
        return "Aracın maksimum hızı : " + this.maksimumHiz.toString();
    }
    public String calistir(){
        return "Araç çalışıyor.";
    }
}

 

MainActivity Java Code:

package com.example.kalitim;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;



public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //Yeni bir araba nesnesi oluşturuldu.
        Araba araba = new Araba();
        //Araba koltuk sayısı ve hız tanımlanır.
        araba.setKapiSayisi(5);
        araba.setMaksimumHiz(210);
        //Yeni bir minibüs nesnesi oluşturuldu.
        Minibus minibus = new Minibus();
        //Minibüs koltuk sayısı ve hız tanımlanır.
        minibus.setKapiSayisi(3);
        minibus.setMaksimumHiz(170);

        System.out.println("---------------------------------------------------");
        System.out.println("Kapı Sayısı : " + araba.kapiSayisiniGoster());
        System.out.println("Hızı : " + araba.maksimumHizGoster());
        System.out.println("Çaliştımı : " + araba.calistir());
        System.out.println("İşe gittimi : " + araba.iseGit());
        System.out.println("Minibüs Kapı Sayısı : " + minibus.kapiSayisiniGoster());
        System.out.println("Minibüs Mak Hız : " + minibus.maksimumHizGoster());
        System.out.println("Minibüs Çaliştı mı : " + minibus.calistir());
        System.out.println("Minibüs Yolcu : " + minibus.yolcuIndir());
    }
}

Araba Class Java Code:

package com.example.kalitim;

//public class AltSınıf extends ÜstSınıf
//kalıp bu şekilde properties üst sınıftan ekleniyor

public class Araba extends Arac {

        public String iseGit(){

            return "Araba işe gidiyor";
        }

}

Minibus Class Java Code:

package com.example.kalitim;

public class Minibus extends Arac {
    public String yolcuIndir(){
        return "Yolcular indiriliyor";
    }
}

Alacağımız çıktı;

NOTLAR

- Alt sınıftan üst sınıfın getter methodu çağrılırsa tanımlanan değişken private değilde protected tanımlanmalı.

- Alt sınıfta constructor (üretirken mecburen üst sınıfların tamamında üretim olmalı) tanımlarken üst methoddan yapılandırıcı methodu extends olduğu için çağırmak gerekir. Bunun için super() deyimi kullanılır.Yani alt sınıftan üst sınıfa bir ulaşım sağlanır.

YORUM YAP