İçeriğe atla

Soyut sınıf

Vikipedi, özgür ansiklopedi

Soyut sınıf (İngilizceabstract class), nesne yönelimli programlamada nesnesi yaratılamayan sınıflara denir. Nesne yaratılamamasının nedeni, sınıfın kullanıcı arayüzünde yer alan bir veya daha çok sayıdaki iletinin gerçekleştirilmemesidir.

Örnek olarak Hayvan"Hayvan" sınıfı soyut bir sınıf olarak düşünülebilir. Çünkü hayvan kavramı, ancak bir ide olup bir soyutlamadır. Cinsi belli olmayan bir hayvanın nasıl ses çıkartacağı bilinemediği için hayvanların ortak olarak paylaştıkları davranışlar soyut "Hayvan" sınıfında soyut metotlarla tanımlanır.

/**
 * Abstract class for animals
 */
public abstract class Animal {
    
    /**
     * The method that let's the animal make the sound
     * @return The sound
     */
    abstract public String makeASound();

}

/**
 * Class for all cats
 */
public abstract class Cat extends Animal {

    /* (non-Javadoc)
     * @see Animal#makeASound()
     */
    @Override
    public String makeASound() {
        return "Miyaaav!";
    }
}

/**
 * Class for all dogs
 */
public class Dog extends Animal {
    /* (non-Javadoc)
     * @see Animal#makeASound()
     */
    @Override
    public String makeASound() {
        return "Hav hav!";
    }
}

/**
 * Turkish Van cat
 */
public class TurkishVan extends Cat {
}

/**
 * Test class
 */
public class AnimalsTest {

    /**
	 * Test method for animals
     * @param args
     */
    public static void main(String[] args) {
        Animal vanKedisi = new TurkishVan();
        Animal karabas = new Dog();
        
        System.out.print("Karabas " + karabas.makeASound() + " dedi.\n");
        System.out.print("Mirnav " + vanKedisi.makeASound() + " dedi.");
    }
}

Program koşturulduğunda ses çıkaran makeASound() metodu her hayvan için ayrı ses çıkartamaktadır:

Karabas Hav hav! dedi.
Mirnav Miyaaav! dedi.

Ayrıca bakınız

[değiştir | kaynağı değiştir]