24 Aralık 2013 Salı

Java Inheritance(Kalıtım) Uygulaması (Java extends Örneği)


Daha önce katıldığım java programlama kursunda yaptığımız bir (inheritance)kalıtım uygulaması. Programda tanımlanan tüm classlar personel sınıfından extends komutu ile türetilmiştir.

personel.java

import java.util.Locale;

public class personel {
    protected String ad;
    protected String soyad;
    public String tcKimlik;
    private Double sabitMaas=0.0;
   
    public personel(){
       
    }// defalut constructor
    public personel(String persAd,String persSoyad,double persMaas){
        ad=persAd;
        soyad=persSoyad;
        sabitMaas=persMaas;
        }
    public void setAd(String personelAd)// isim formatı:
    {// ad parametresinin sağındaki ve solundaki boşlukları alıp isim StringBuilder nesnesine ata.
        StringBuilder isim = new StringBuilder(personelAd.trim());
        if(isim.length()==0){// eğer isim nesnesinin uzunluğu 0 ise boş isim girilmiştir.
            System.out.println("Ad kısmı boş. Lütfen bir isim giriniz");
            }else{// isim nesnesinin ilk harfi büyük diğerleri küçük olarak şekillendir.
                for(int i=0;i<isim.length();i++){
                    if(i==0) isim.setCharAt(i, Character.toUpperCase(isim.charAt(i)));                   
                    }//for döngüsü sonu
                this.ad=isim.toString();
            }//else sonu
       
    }//setAd metod sonu
    public String getAd(){return this.ad;}
    public void setSoyad(String personelSoyad){
        personelSoyad=personelSoyad.trim();
        if(personelSoyad.length()==0){//soyad kısmının boş olup olmadığı kontrol ediliyor
            System.out.println("Soyad kısmı boş. Lütfen personel soyadını yazınız.");
        }else{// soyisim nesnesinin tümü büyük harf olacak
            this.soyad=personelSoyad.toUpperCase(new Locale("TR"));
        }//else sonu
    }
    public String getSoyad(){
        return soyad;
    }// getSoyad sonu
    final public void setTcKimlik(String tckimlik){
        this.tcKimlik=tckimlik;
    }
    public void setMaas(double maas){
        sabitMaas=maas;
    }
    public double getMaas(){return sabitMaas;}
    public double hakEdis(){
        System.out.print("Personel Hakediş:");
        return sabitMaas;
    }
}// personel classs sonu



SatisPersoneli.java


public class SatisPersoneli extends personel{
    public double satisTutari;
    public double primYuzdesi;
    public SatisPersoneli(){}
    public SatisPersoneli(String ptpAd,String ptpSoyad,double satisTutari,double prim){
        super(ptpAd, ptpSoyad, 500.0);// bu stırda satış personelinin bilgileri personel class'ındaki personel isimli metoda bilgi gönderir.
        this.satisTutari=satisTutari;
        this.primYuzdesi=prim;
    }// SatisPersoneli sonu
    public void setSatistutari(){
        if(satisTutari>=0)
            this.satisTutari=satisTutari;
        else
            System.out.println("tutar pozitif olmalı");
    }// setSatistutari sonu
    @Override
    public double hakEdis(){
        System.out.println("Satıi personeli hakediş:");
        return super.getMaas()+(this.satisTutari*(1+primYuzdesi));
    }

}

PartTimePersonel.java


public class PartTimePersonel extends personel{
    public int mesaiSaat;
    public double saatUcreti;
    public PartTimePersonel(){
        super();
    }
    public PartTimePersonel(String ptpAd,String ptpSoyad, int ptpMesai, double ptpSaatUcret){
        super(ptpAd,ptpSoyad,0.0);
        this.mesaiSaat=ptpMesai;
        this.saatUcreti=ptpSaatUcret;
    }//PartTimePersonel sonu
   
    public void setMesaiSaat(int saat){
        if(saat>=0)
            mesaiSaat=saat;
        else
            System.out.println("Mesai saati pozitif olmalı");
    }
    @Override
    public double hakEdis(){
        System.out.println("Pat Time Personel hakediş :");
        return saatUcreti*mesaiSaat;
    }

}

Stajyer.java


public class Stajyer extends personel{

}

PersonelTakip.java


public class PersonelTakip {
    public static void main(String[] args){
        personel isci,partIsci,stajyerIsci;
        isci = new personel("Kamil","turhan",1000.0);
        partIsci = new PartTimePersonel("Yusuf","eren",45,20.0);
        stajyerIsci = new Stajyer();
        personel satisIsci = new SatisPersoneli("haken","kart",40000.0,0.2);
       
        System.out.println(isci.hakEdis());
        System.out.println(partIsci.hakEdis());
        System.out.println(satisIsci.hakEdis());
    }

}