Super ve this kavramları nedir?

Super ve this kavramları nedir?

Java'da, "super" ve "this" anahtar kelimeleri, nesne yönelimli programlama sırasında sınıflar arasında ilişki kurmak için kullanılan kavramlardır.

"this" anahtar kelimesi, bir sınıf içindeki bir metot veya yapıcı tarafından oluşturulan bir nesneyi temsil eder. Yani, bir sınıfın içindeki bir metot veya yapıcı içinde "this" kelimesi kullanıldığında, o sınıfın bir nesnesine referans verir. Örneğin:

public class Person {
  private String name;

  public Person(String name) {
    this.name = name;
  }

  public String getName() {
    return this.name;
  }
}

 

Yukarıdaki örnekte, "this" anahtar kelimesi, "name" değişkenine sınıf içindeki bir metot veya yapıcı tarafından erişmek için kullanılır.

"super" anahtar kelimesi ise, bir alt sınıfta bir üst sınıftan özellik veya metot çağırmak için kullanılır. Java'da kalıtım mekanizması kullanılarak bir sınıf oluşturulduğunda, alt sınıf, üst sınıfın özelliklerini ve metotlarını otomatik olarak miras alır. Ancak, alt sınıf, üst sınıfın aynı adla bir özelliğine veya metodu da tanımlayabilir. Bu durumda, alt sınıfın kendi özelliği veya metodu, üst sınıfın özelliğinin veya metodunun üzerine yazar. "super" anahtar kelimesi kullanılarak, alt sınıfın, üst sınıfın aynı adla bir özelliğine veya metodu çağırması mümkündür. Örneğin:

public class Animal {
  public void eat() {
    System.out.println("Animal is eating");
  }
}

public class Cat extends Animal {
  public void eat() {
    super.eat();
    System.out.println("Cat is eating");
  }
}

 

Yukarıdaki örnekte, "Cat" sınıfı, "eat" metodu üzerine yazarak, "Animal" sınıfının "eat" metodunu çağırmadan önce, "super" anahtar kelimesini kullanarak, "Animal" sınıfının "eat" metodunu çağırmaktadır. Bu şekilde, alt sınıfın özelliğinin veya metodu, üst sınıfın özelliğinin veya metodunun üzerine yazılırken, üst sınıfın özelliği veya metodu da çağrılabilmektedir.

Super ve this kavramları nedir?
Paylaş: