Anahtar Farkı – Java'da bu vs süper
'this' ve 'super' anahtar kelimeleri Java programlamasında kullanılır. Bu anahtar kelimeler, değişkenler veya başka bir tanımlayıcı adı olarak kullanılamaz. Java, Nesne Yönelimli Programlamayı (OOP) destekler. Program veya yazılım nesneler kullanılarak modellenebilir. Nesneler sınıfları kullanarak doymaz. OOP'nin bir ayağı kalıtımdır. Kodun yeniden kullanılabilirliğini sağlar. Halihazırda var olan sınıflar üst sınıflardır ve türetilmiş sınıflar alt sınıflardır. super anahtar sözcüğü, üst sınıfın bir nesnesine başvurmak için kullanılabilir. Sistemde birden fazla nesne var. 'this' anahtar sözcüğü, geçerli bir nesneye atıfta bulunmak için kullanılır.this ve super arasındaki temel fark şudur: 'this', geçerli nesneye başvurmak için kullanılan bir referans değişkenidir, 'super' ise hemen üst sınıf nesnesine başvurmak için kullanılan bir referans değişkendir.
Java'da bu nedir?
'Bu' anahtar kelimesi, geçerli bir nesneye atıfta bulunmak için kullanılır. Verilen Java programına bakın.
Şekil 01: Bu anahtar sözcüğü kullanan Java programı
Java'da üç tür değişken vardır. Bunlar örnek değişkenler, yerel değişkenler ve sınıf değişkenleridir. Yukarıdaki programa göre, Çalışan sınıfının iki örnek değişkeni vardır. Bunlar id ve isimdir. Yerel değişkenler, yöntemlere ait değişkenlerdir. Sınıf değişkenleri tüm nesneler tarafından paylaşılır. Kimlik ve ad, Çalışan yapıcısına iletilir. Programcı id=id yazarsa; Yapıcının zaten kimliği ve adı olduğu için örnek değişkenleri başlatmaz. Örnek değişkenler için değer yok. Bu nedenle, bunları yazdırmak boş görüntüler. Bunu kullanırken, geçerli nesneye atıfta bulunur. Bu nedenle, yapıcıya kimlik ve ad verilmesi, örnek değişkenlerini ayarlayabilir.
'this' anahtar sözcüğü, mevcut sınıf yöntemini çağırmak için kullanılabilir. Verilen java programına bakın.
genel sınıf ThisDemo{
public static void main(String args){
Myclass myClass=new Myclass();
myClass. B();
}
}
sınıf Sınıfım{
public void A(){
System.out.println(“A”);
}
public void B(){
System.out.println(“B”);
this. A();
}
}
Myclass sınıfı iki yöntem içerir. Bunlar A ve B yöntemidir. Bir Myclass nesnesi oluştururken ve B yöntemini çağırırken çıktı olarak B, A yazdırılır. B yönteminde, B yazdırıldıktan sonra this. A() şeklinde bir ifade vardır. Bunu kullanarak, mevcut sınıf yöntemi çağrıldı.
Mevcut sınıf yapıcısını çağırmak için bu anahtar sözcüğü kullanmak da mümkündür. Verilen programa bakın.
genel sınıf ThisDemo{
public static void main(String args){
A nesnesi=yeni A(5);
}
}
sınıf A{
genel A(){
System.out.println(“Yapıcı A”);
}
genel A(int x){
bu();
System.out.println(“Parametreli Oluşturucu A”);
}
}
Yukarıdaki programa göre, A sınıfı bir varsayılan kurucuya ve bir parametreli kurucuya sahiptir. A nesnesini oluştururken parametreli yapıcı çağrılır. Parametreli yapıcıda, this(); A() olan mevcut sınıf yapıcısını çağırır.
Java'da süper olan nedir?
'Süper' anahtar kelimesi kalıtımla ilgilidir. Kalıtım, Nesne Yönelimli Programlamanın önemli bir kavramıdır. Halihazırda var olan sınıfın özelliklerini ve yöntemlerini yeni bir sınıfa kullanmaya izin verir. Halihazırda var olan sınıf, ana sınıf veya üst sınıf olarak bilinir. Yeni sınıf, alt sınıf veya alt sınıf olarak bilinir.
'Süper', hemen üst sınıf nesnesine başvurmak için kullanılan bir başvuru değişkenidir. super anahtar sözcüğü, anında üst sınıf örnek değişkenine başvurabilir veya hemen üst sınıf yöntemini çağırabilir. super(), hemen üst sınıf yapıcısını çağırmak için kullanılır.
A ve B olmak üzere iki sınıf olduğunu varsayalım. A Sınıfı üst sınıf ve B sınıfı alt sınıftır. A ve B Sınıflarının her ikisinin de görüntüleme yöntemi vardır.
genel A sınıfı{
genel boşluk ekranı(){
System.out.println(“A”);
}
}
genel B sınıfı A'yı genişletir{
genel boşluk ekranı(){
System.out.println(“B”);
}
}
B türünde bir nesne oluştururken ve yöntem gösterimini çağırırken, B çıktısını verir. A sınıfı görüntüleme yöntemine sahiptir, ancak alt sınıf B görüntüleme yöntemi tarafından geçersiz kılınır. Programcı A sınıfındaki görüntüleme yöntemini çağırmak isterse super anahtar sözcüğünü kullanabilir. Verilen Java programına bakın.
Şekil 02: Süper anahtar kelime kullanan Java programı
Yukarıdaki programa göre, A sınıfı, 10 değerine sahip sayı adında bir değişkene sahiptir. B Sınıfı, A'yı genişletir ve 20 değerine sahip bir sayı adında bir değişkene sahiptir. Genellikle, B türünde bir nesne oluştururken ve görüntüleme yöntemini çağırırken üst sınıf değeri yeni sınıf tarafından geçersiz kılındığından alt sınıftaki sayıyı vermelidir.super.num kullanılarak, üst sınıf sayı değeri yazdırılır.
The super(), üst sınıf yapıcısını çağırmak için kullanılabilir. Aşağıdaki programa bakın.
genel sınıf Ana {
public static void main(String args){
B nesne=yeni B();
}
}
sınıf A{
A(){
System.out.println(“A”);
}
}
sınıf B, A'yı genişletir{
B(){
süper();
System.out.println(“B”);
}
}
Yukarıdaki programa göre, A sınıfının bir yapıcısı A () vardır. B Sınıfı, B () yapıcısına sahiptir. B Sınıfı, A sınıfını genişletir. B türünde bir nesne oluştururken, çıktı olarak A, B'yi yazdırır. B() yapıcısında super() vardır. Bu nedenle, önce A yapıcısı çağrılır ve ardından B'ye gider.super() yazılmamış olsa da, varsayılan olarak ana kurucu çağrılır.
Yöntemi kullanan süper aşağıdaki gibidir.
Şekil 03: Üst sınıf yöntemini çağıran Java programı
Yukarıdaki programa göre A sınıfı görüntüleme yöntemine sahiptir. B Sınıfı ayrıca görüntüleme yöntemine sahiptir. B Sınıfı A'yı genişletir. B türünde bir nesne oluşturulduğunda ve görüntüleme yöntemi çağrıldığında A ve B olarak çıktı verilir. B sınıfı görüntüleme yönteminde, super.display() kullanılarak A sınıfı görüntüleme yöntemi çağrılır. Bu yöntem önce “A” yazdırır. Ardından “B” yazdırır.
Bununla süper arasındaki benzerlik nedir?
Her ikisi de Java programlamasında anahtar kelimelerdir
Bunun süper ile arasındaki fark nedir?
Bu vs Süper |
|
'Bu', geçerli nesneyi belirtmek için kullanılan bir referans değişkenidir. | 'Süper', hemen bir üst sınıf nesnesine başvurmak için kullanılan bir başvuru değişkenidir. |
Örnek Değişkeni | |
Geçerli bir sınıf örneği değişkeni bu kullanılarak ifade edilebilir. | Süper sınıf örnek değişkeni, süper kullanılarak ifade edilebilir. |
Sınıf Yöntemi | |
Mevcut sınıf yöntemi bu kullanılarak çağrılabilir. | Superclass yöntemi super kullanılarak çağrılabilir. |
Yapıcı | |
Geçerli sınıf yapıcısı this() kullanılarak çağrılabilir. | Superclass yapıcısı super() kullanılarak çağrılabilir. |
Özet – Java'da bu vs süper
'this' ve 'super' anahtar kelimeleri Java'da kullanılır. Anahtar kelimeler, değişkenler veya başka bir tanımlayıcı adı olarak kullanılamaz. Aynı gibi görünüyorlar, ama aralarında bir fark var. Bununla super arasındaki fark, super'in hemen üst sınıf nesnesine başvurmak için kullanılan bir başvuru değişkeni olması, bunun ise geçerli nesneye başvuran bir başvuru değişkeni olmasıdır.
Bu vs super'ın PDF'sini Java'da indirin
Bu makalenin PDF sürümünü indirebilir ve alıntı notuna göre çevrimdışı amaçlarla kullanabilirsiniz. Lütfen PDF sürümünü buradan indirin: Java'da bu ve super arasındaki fark