Artikel Terbaru

8 Pertimbangan yang Harus Dilakukan untuk Memilih Wallet Bitcoin

Wallet Bitcoin adalah program yang digunakan untuk mengirim dan menerima data transaksi Bitcoin, menyimpan catatan Bitcoin, dan memantau saldo Bitcoin. Sama seperti ketika seseorang memerlukan program email yang digunakan untuk mengelola data email -nya, pada Bitcoin juga terdapat program sejenis yang dapat digunakan untuk mengelola data Bitcoin tersebut, berupa wallet interface pada setiap node blockchain Bitcoin. Wallet digunakan untuk memantau alamat Bitcoin pada blockchain dan juga dapat digunakan untuk memperbarui saldo Bitcoin pada setiap transaksi.

3 Contoh Dimana Overloading dapat Bekerja dengan Inheritance pada Java

Berikut akan dijelaskan kondisi dimana jika dimiliki fungsi pada base class dan sebuah fungsi dengan nama sama dalam derived class, maka kondisinya akan diperlihatkan pada program berikut.

#include <iostream>

using namespace std;

class Base

{

public:

int f(int i)

{

cout << "f(int): ";

return i+3;

}

};

 

 

class Derived : public Base

{

public:

double f(double d)

{

cout << "f(double): ";

return d+3.3;

}

};

 

 

int main()

{

Derived* dp = new Derived;

cout << dp->f(3) << '\n';

cout << dp->f(3.3) << '\n';

delete dp;

return 0;

}


Hasil output dari kode program tersebut adalah:
f(double): 6.3
f(double): 6.6

Ketimbang hasil output yang dikeluarkan adalah:
f(int): 6
f(double): 6.6

Overloading tidak bekerja untuk derived class dalam bahasa pemrograman C++. Tidak terdapat overloading resolusi antara base dan derived, dimana kompilator akan melihat ke dalam scope dari derived, dan mencari fungsi tunggal "double f(double)" yang kemudian akan memanggilnya. Pemanggilan tersebut tidak akan terganggu dengan (enclosingscope dari Base. Pada C++, tidak terdapat overloading antara scope-scope derived class dan bukan exception yang menuju aturan umum.

Sekarang pertimbangkan hasil yang dikeluarkan menggunakan bahasa pemrograman Java:

class Base

{

public int f(int i)

{System.out.print("f (int): ");

return i+3;}

}

 

class Derived extends Base

{

public double f(double i)

{System.out.print("f (double) : ");

return i + 3.3;}

}

 

class myprogram3

{

public static void main(String args[])

{Derived obj = new Derived();

System.out.println(obj.f(3));

System.out.println(obj.f(3.3));}

}

Output:
f (int): 6
f (double): 6.6

Overloading Java dapat bekerja lintas scope yang berbeda dengan C++. Kompilator Javadapat menentukan versi yang tepat dari method overloading untuk dieksekusi pada saat waktu kompilasi berdasarkan tipe dari argumen yang digunakan untuk memanggil method dan parameter dari method overloading dari kedua class yang diterima nilainya, yang berasal dari argumen yang digunakan dalam pemanggilan dan eksekusi method overloading.

Tahap akhir, pertimbangkan hasil output yang dihasilkan dari program C# berikut ini:

using System;     

 

class Base

{

public int f(int i)

{Console.Write("f (int): ");

return i + 3;}

}

 

class Derived : Base

{

public double f(double i)

{Console.Write("f (double) : ");

return i+3.3;}

}

 

class MyProgram

{

 

static void Main(string[] args)

{

Derived obj = new Derived();

Console.WriteLine(obj.f(3));

Console.WriteLine(obj.f(3.3));

Console.ReadKey(); 

// tulis baris program ini

// jika menggunakan visual

// studio.

}

 

}

Catatan: Console.ReadKey() digunakan untuk menghentikan console. Hal ini sama seperti getch pada C/C++.

output dari program adalah:
f(double) : 6.3
f(double):  6.6

Ketimbang hasil output yang keluar adalah:
f(int) : 6
f(double) : 6.6

Alasan pada bagian program ini adalah sama seperti pada C++. Seperti halnya C++, tidak terdapat overloading antara Base class dan Derived class. Pada C#, tidak terdapat overloading antar scope, dan derived class bukanlah exception yang menuju ke aturan umum. Hal ini sama seperti C++ karena C# dirancang untuk lebih dekat ke C++.

Komentar

  1. Dalam hirarki inheritance pada Java, method superclass dan subclass dapat dilakukan overriding dan overloading. Ketika terjadi overloading, maka method superclass dan subclass akan memiliki nama yang sama tetapi dengan signature yang berbeda dari tipe parameternya.

    BalasHapus
  2. Overloading dan inheritance Java?

    BalasHapus
    Balasan
    1. Overloading memungkinkan beberapa definisi fungsi untuk nama yang sama, yang dibedakan terutama melalui argumen yang berbeda dan biasanya diselesaikan pada waktu kompilasi program. Inheritance memungkin subclass untuk menentukan versi yang lebih khusus dari fungsi yang sama tersebut dan biasanya diselesaikan pada waktu pemrosesan.

      Hapus
  3. Bisa dijelaskan apa yang dimaksud dengan overloading Java?

    BalasHapus
    Balasan
    1. Pada pemrograman Java, terdapat dua atau lebih method yang mungkin untuk memiliki method yang sama jika terdapat perbedaan pada bagian parameternya. Method tersebut disebut dengan method overloading.

      Hapus

Posting Komentar

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung. :D

Catatan: setiap iklan yang ditayangkan pada blog ini bersumber dari google adsense. Dengan jenis iklan yang dipilih adalah, sebagai berikut.

POIN 1, Iklan yang ditampilkan hanya boleh berbahasa indonesia atau berbahasa inggris. Tidak menerima jenis iklan dalam bahasa yang lain selain yang telah disebutkan karena blog ini dibuat untuk para pengunjung dari negara atau orang yang berbahasa Indonesia.

POIN 2, Setiap gambar yang ditampilkan pada iklan sifatnya tidak mengganggu para pengunjung yang melihat blog, atau tidak boleh menampilkan gambar yang bersifat menjijikkan atau merangsang rasa mual.

POIN 3, Jenis iklan yang dipasang bukan merupakan iklan spam, atau berisi dan mengarahkan pengunjung ke alamat yang berbahaya atau bersifat penipuan.

POIN 4, Segala bentuk iklan tunduk dan patuh pada ketentuan dari pihak Adsense google dan pemilik blog.

POIN 5, Segala jenis iklan yang tidak bertentangan dengan poin 1-4 yang dijelaskan sebelumnya, maka iklan tersebut dapat ditampilkan pada blog.

POIN 6, Jika ada pihak ketika yang ingin memasang iklan pada blog ini secara langsung, maka dapat menghubungi pemilik blog melalui kontak 0882 3218 8316.



~ Ikatlah Ilmu dengan Memostingkannya ~

Hot Artikel

Perbedaan stdio.h dan stdlib.h pada Bahasa C

6 Tahap Utama dalam Melakukan Kompilasi Program Hello World Java

Perbedaan Antara int main() dan int main(void) pada Bahasa C

Enkapsulasi pada Java

3 Jenis Utama Looping pada Java