Sabtu, Mei 15, 2021

Shadowing dari static function pada Java

Jika nama dari derived class static funtion adalah sama seperti base class static function, maka derived class static function shadowing atau conceal adalah berasal dari base class static function. Contoh, perhatikan bentuk program berikut ini:

/* file name: Main.java */

class

static void fun() {

System.out.println("A.fun()");} 

 

class B extends

static void fun() {

System.out.println("B.fun()");} 

 

public class Main 

 

public static void main(String args[]

{A a = new B(); 

a.fun(); 

/* prints A.fun() */}

 

}


Jika dibuat keduanya A.fun() dan B.fun() sebagai non static maka program sebelumnya akan mencetak B.fun().

6 komentar:

  1. Apa yang dimaksud dengan shadowing pada Java?

    BalasHapus
    Balasan
    1. Shadowing pada Java merupakan praktik menggunakan variabel dalam cakupan yang tumpang tindih dengan nama yang sama dimana variabel dalam cakupan tingkat rendah menggantikan variabel cakupan dalam tingkat tinggi. Dalam hal ini variabel pada cakupan tingkat tinggi dibayangi (shadow) oleh variabel cakupan tingkat rendah pada Java.

      Hapus
  2. Secara umum, apa yang dimaksud dengan shadowing pada bahasa pemrograman secara umum?

    BalasHapus
    Balasan
    1. Dalam pemrograman komputer, variabel shadowing terjadi jika variabel yang dideklarasikan dalam suatu lingkup tertentu seperti block, method, atau inner class memiliki nama yang sama dengan variabel yang dideklarasikan pada lingkup luarnya.

      Hapus
  3. Apa yang dimaksud dengan shadow inheritance pada Java?

    BalasHapus
    Balasan
    1. Jika class turunan atau inheritance class mendefinisikan ulang elemen pemrograman yang diwarisi dari class dasar, elemen definisi ulang tersebut akan membayangi elemen aslinya. User dapat membayangi semua jenis elemen yang dideklarasikan, atau kumpulan elemen yang overloading, dengan jenis lainnya.

      Hapus

Respon komentar 7 x 24 jam, so please be patient :D