“implements” Kullanımı: İnterfaces uygulayıp Kodun Esnekliğini Arttırmak

yazı resmi

Java gibi nesne odaklı bir programlama dilinde, kodun okunabilirliği, yeniden kullanılabilirliği ve bakımı için doğru tasarım prensiplerine uyum sağlamak çok önemlidir. Bu prensiplerden biri de “implements” anahtar kelimesidir. “implements” kullanarak bir sınıfın bir veya birden fazla arayüzü uygulamasını sağlayabiliriz. Bu makalede, Java’da “implements” anahtar kelimesinin ne olduğunu, nasıl kullanıldığını ve kodun esnekliğini nasıl artırdığını keşfedeceğiz.

“implements” Nedir?

Java’da “implements” anahtar kelimesi, bir sınıfın bir veya birden fazla arayüzü uyguladığını belirtmek için kullanılır. Arayüzler, bir sınıfın belirli metotları veya davranışları uygulaması gerektiğini tanımlar. Bir sınıf “implements” anahtar kelimesini kullanarak arayüzleri uygulayarak, o arayüzde tanımlanan tüm metotları sınıfın içinde gerçekleştirmek zorundadır.

“implements” Kullanımı:

Java’da bir sınıfın bir veya birden fazla arayüzü uygulaması için “implements” anahtar kelimesini kullanırız. Örnek bir kullanım şu şekildedir:

public class SinifAdi implements ArayuzAdi {
    // Arayüzde tanımlanan metotları gerçekleştirme
}

“implements” Avantajları:

  • Esneklik: “implements” anahtar kelimesi, bir sınıfın birden fazla arayüzü uygulayabilmesini sağlar. Bu, aynı sınıfın farklı arayüzlerde farklı davranışlar sergileyebileceği anlamına gelir. Bu esneklik, kodun daha modüler ve genişletilebilir olmasını sağlar.
  • Sözleşmelerin Uygulanması: Arayüzler, sınıflar arasında bir sözleşme veya kontrat olarak düşünülebilir. Bir sınıf, bir arayüzü uyguladığında, o arayüzde tanımlanan metotları gerçekleştirmeyi taahhüt eder. Bu, kodun daha tutarlı ve beklenen davranışlara sahip olmasını sağlar.
  • Polimorfizm: “implements” anahtar kelimesi, polimorfizm özelliğini destekler. Bir arayüzü uygulayan farklı sınıfların nesneleri, aynı arayüzü kullanarak genel bir şekilde işlenebilir. Bu, kodun daha esnek ve yeniden kullanılabilir olmasını sağlar.

“implements” Kullanımı Örneği:

Aşağıda, “GeometrikSekil” adında bir arayüz ve bu arayüzü uygulayan “Daire” ve “Kare” sınıflarıyla ilgili bir örnek verilmiştir:

public interface GeometrikSekil {
    double hesaplaAlan();
    double hesaplaCevre();
}

public class Daire implements GeometrikSekil {
    private double yaricap;

    public Daire(double yaricap) {
        this.yaricap = yaricap;
    }

    @Override
    public double hesaplaAlan() {
        return Math.PI * yaricap * yaricap;
    }

    @Override
    public double hesaplaCevre() {
        return 2 * Math.PI * yaricap;
    }
}

public class Kare implements GeometrikSekil {
    private double kenarUzunlugu;

    public Kare(double kenarUzunlugu) {
        this.kenarUzunlugu = kenarUzunlugu;
    }

    @Override
    public double hesaplaAlan() {
        return kenarUzunlugu * kenarUzunlugu;
    }

    @Override
    public double hesaplaCevre() {
        return 4 * kenarUzunlugu;
    }
}

Bu örnekte, “GeometrikSekil” adında bir arayüz tanımlanmıştır. “Daire” ve “Kare” sınıfları bu arayüzü uygulamak için “implements” anahtar kelimesini kullanır. Her iki sınıf da arayüzde tanımlanan metotları gerçekleştirir.

Sonuç:

Java’da “implements” anahtar kelimesi, bir sınıfın bir veya birden fazla arayüzü uygulamasını sağlar. Arayüzler, sözleşme gibi düşünülebilir ve kodun esnekliğini, okunabilirliğini ve yeniden kullanılabilirliğini artırır. “implements” anahtar kelimesi, polimorfizm özelliğini destekleyerek farklı sınıfların aynı arayüzü kullanarak genel bir şekilde işlenebilmesini sağlar.