Thursday, July 22, 2010

Object

 Nesne yonelimli programlamayi anlamak icin oncelikle  nesne kavramini cok iyi bilmeliyiz ve nesne kavrami gunluk hayatimizda bildigimiz anlami ile uygulamaliyiz java programinda misal icin kopek , masa , televizyon , bisiklet...
Gercek dunyadaki nesnelerin iki ozeligi vardir
  • Nesnelerin sahip oldugu ozelik ve durum 
  • Nesnenin davranisi
Ornek vermek gerekirse bir kopegi ele alalim.
 -  ilk mademize bu kopekteki ozelik ve durum :   rengi , adi , cinsiyeti , cinsi...
 -  ikici madede ise : kosmek , yakalamk , kuyruk salamak , havlamak...
Simdi gelin gercek dunyada dusundugumuz bu ornekleri nesne tabanli bir programlar icin dusunelim.
  -  Sahip oldugu ozelikler deyince field(degiskenler)
  -  Davranis deyincede methotlar

*  Object icerisinde veri ve fonksiyon barindiran yapidir. Veri tutan birimler 'Property' belli bir islevi goren birimler ise 'Method' adlandirirlir.
*  Bir insanin boyu bir 'Prorperty' ve yurume islemi ise 'Method' tur.
*  Bir nesnenin ne gibi 'Property' ve 'Method' lari olacagini belirleyen yapiya 'Class' denir
*  Bu 'Class' uygun olarak olsturan nesneyede 'Instance' denir 
Web sitesi bir 'Class' dir. www.selcukoglu.blogspot.com ise bunun bir 'Instance' dir
Insan bir 'Class' tir Abdulkadir bunun bir 'Instance' sidir.
 * Javada herseye nesne gibi davranabilirirz. hersey nesne olmasina ragmen nesneleri yonetmek icin 'Referans' lar kullanilir. 
Diyelimki ellimizde bir  kumandali araba olsun (Arabayi nesne olarak dusunelim) birde bu arabaya ait bir tane kumanda olsun (Kumanda burada 'Referens' olarak dusunelim) bu arabayi hareket ettirmek saga sola cevirmek iler geri gelmesinisaglamak icin kumanda cihazindan yararlaniyoruz. Burada dikkat edilmesi gereken kumanda cihazindan cikan emirleri araba tarafindan uyguluyor olunmasidir.
Elimizdeki uzaktan kumandanin (Referans) olmasi arabanin (Nesne) oldugu anlamina gelmez. Uzaktan kumanda tek basina hayatini surdurur.
String kumanda;
Bu suanda herhangi bir nesneye baglidegil. Bir 'Referans' a bir sey gondermek istiyorsak onu bir nesneye baglamamiz gerekir 
String kumanda = new String();
Bu konuyu daha iyi anlamk icin bir ornek gelistirelim

public class Araba {
    public String marka;
    public String renk;
    public String modeli;

    public Araba() {
    }

    public Araba(String marka, String renk, String modeli) {
        this.marka = marka;
        this.renk = renk;
        this.modeli = modeli;
       
    }

    public void arabaminOzeligi(){
        System.out.println("Markasi : "+marka+"  Rengi : "+renk+" Modeli : "+modeli);
    }

    public void ileri(){
        System.out.println(  "Araba ileriye dogru hareket ediyor ---> ");
    }

    public void geri(){
        System.out.println("Araba geriye dogru hareket ediyor <--- ");
    }

     public void sag(){
        System.out.println("Araba saga dogru hareket ediyor...");
    }

     public void sol(){
        System.out.println("Araba sola dogru hareket ediyor...");
     }

    public void hizlan(){
        System.out.println("Araba hizlaniyor :) ");
    }

    public void dur(){
        System.out.println("Araba durdu :( ");
    }
}



public class ArabaMain {
    public static void main(String args[]) {

        Araba kumanda = new Araba("Opel","Kirmizi","2009");
        kumanda.arabaminOzeligi();
        kumanda.ileri();
        kumanda.sag();
        kumanda.sol();
        kumanda.geri();
        kumanda.hizlan();
        kumanda.dur();
     
    }
}

 

//CONSOLE
Markasi : Opel  Rengi : Kirmizi Modeli : 2009
Araba ileriye dogru hareket ediyor --->
Araba saga dogru hareket ediyor...
Araba sola dogru hareket ediyor...
Araba geriye dogru hareket ediyor <---
Araba hizlaniyor :)
Araba durdu :( 

No comments:

Post a Comment