Araba sınıfını soyut yapmak

Java ile Nesne Yönelimli Programlamaya Giriş

Sani Yusuf

Lead Software Engineering Content Developer

Soyut sınıfı açıklama

  • Car ifadesi yalnızca bir yer tutucudur
  • Hâlâ ne tür bir araba olduğunu bilmemiz gerekir

Toyota

Mercedes

Java ile Nesne Yönelimli Programlamaya Giriş

Soyut sınıf için yemek benzetmesi

  • Bir restoranda asla sadece yemek istemezsiniz
  • Her zaman ne tür yemek istediğinizi belirtirsiniz
    • ekmek
    • makarna
    • pirinç

Ekmek

Makarna

Pirinç

Java ile Nesne Yönelimli Programlamaya Giriş

Soyut sınıfları anlama

  • Soyut sınıflar, miras alan sınıfların özelliklerini tutar
  • Soyut sınıflardan nesne oluşturulamaz
  • Soyut sınıflarda genelde kod uygulaması yoktur
Java ile Nesne Yönelimli Programlamaya Giriş

Car soyut sınıfı


  // Car soyut sınıfı
  abstract class Car {    
    // soyut drive metodu
     abstract void drive(); // Kod Uygulaması Yok 

  }








Java ile Nesne Yönelimli Programlamaya Giriş

Soyut metodlar

  • Soyut metodun uygulaması yoktur
  • Miras alan sınıf soyut metodları uygulamalıdır

   // Car soyut sınıfı
  abstract class Car {    
    // soyut drive metodu
     abstract void drive(); // Kod yok  
                            // uygulama
  }





  // Toyota sınıfı 
  class Toyota extends Car {  
     void drive(){
      // Toyota drive() uygulaması
    }           
  }
  // Porsche sınıfı
  class Porsche extends Car {  
     void drive(){
      // Porsche drive() uygulaması
    }           
  }
Java ile Nesne Yönelimli Programlamaya Giriş

Somut metodlar oluşturma

  • Somut metodlar kod uygulamasına sahiptir
  • Alt sınıflar somut metodları uygulamak zorunda değildir

  // soyut Car sınıfı
  abstract class Car {
    private int topSpeed;

    // Uygulamalı somut metod
    public getTopSpeed(){
         return this.topSpeed;
    }

    abstract void drive(); 
    // Kod Uygulaması Yok        
  }

Java ile Nesne Yönelimli Programlamaya Giriş

Hadi pratik yapalım!

Java ile Nesne Yönelimli Programlamaya Giriş

Preparing Video For Download...