Saturday 8 March 2014

Dua objek (Pemograman Java)


Mebanding dua objek di java

Casting Obyek
Instances dari class-class juga dapat di ubah ke instance-instance dari class-class yang lain dengan satu batasan: class-class sumber dan tujuan harus terhubung dengan mekanisme inheritance; satu class harus menjadi sebuah subclass terhadap class yang lain.
Sejalan dengan konversi nilai primitif ke tipe yang lebih besar ukurannya,beberapa object mungkin tidak membutuhkan untuk ubah secara explisit. Faktanya karena semua subclass terdiri atas informasi yang sama seperti class induknya. Sebagai contoh, jika terdapat method yang memiliki dua argumen, satu tipe object dan tipe window yang lain.Anda dapat melewatkan instance dari class a p a p u n untuk argumen object karena semua class java adalah subclass dari object. Untuk argumen window, anda dapat melewatkannya subclassnya, seperti dialog, FileDialog, dan frame. Hal ini dapat dituliskan dalam program dan bukan hanya dalam memanggil method. Jika andamempunyai variabel yang didefinisikan sebagai class window, anda dapat memberikan obyek dari class tersebut atau dari subclassnya untuk dijadikan variabel tanpa konversi.






Untuk kebalikannya pun bisa dilakukan, Anda dapat menggunakan superclass ketika sebuah subclass dibentuk. Akan tetapi error akan ditemukan karena subclass kemungkinan memiliki lebih banyak tingkah laku daripada superclassnya, maka mungkin akan terjadi hilangjya kendali dari superclass untuk method tertentu. superclass object mungkin tidak memiliki semua kemungkinan tingkah laku yang dapat dilakukan subclass object. Sebagai contoh jika anda memiliki operasi yang memanggil method dalam obyek dari class integer, mengunakan object dari class Number tidak akan didapatkan method lebih banyak dari yang dispesifikasikan dalam integer. Error akan terjadi jika Anda mencoba untuk memanggil method yang tidak dimiliki oleh obyek tujuan. Untuk mengunakan obyek-obyek superclass dimana obyek-obyek subclass ditentukan terlebih dahulu,anda harus mengkonversi mereka secara eksplisit. Anda tidak akan kehilangan informasi sebelumnya setelah proses konversi, tapi anda mendapatkan semua method danvariabel yang didefinisikan oleh subclass. Untuk konversi sebuah obyek ke class yang lain, Anda dapat menggunakan operasi yang sama seperti konversi untuk tipe-tipe primitif :
Untuk memilih,

(classname)object
dimana,
classname, adalah nama dari class tujuan.
object, adalah sesuatu yang mengarah pada obyek sumber.








Contoh berikut konversi sebuah instance dari class VicePresident ke sebuah instance dari class Employee; VicePresident adalah sebuah subclass dari Employee dengan lebih banyak informasi, disini didefinisikan bahwa VicePresident memiliki akses menuju executive washroom,
Employee emp = new Employee();
VicePresident veep = new VicePresident();
emp = veep; // tidak adah konversi yang diperlukan untuk penggunaan
yang cenderung naik
veep = (VicePresident)emp; // Harus memilih dengan pemilihan secara eksplisit


Salah satu contoh untuk aturan ini adalah operator untuk persamaan : == (sama dengan) dan != (tidak samadengan), ketika operator ini dimasukkan ke sebuah obyek, operator ini tidak akan melakukan apa yang sebenarnya diinginkan. Penggunaan operator ini akan memeriksa kesamaan antara satu obyek ke obyek lain, bukan nilainya. Untuk membandingkan instance dari sebuah, Anda harus mengimplementasikan method khusus dalam class anda dan memanggil method tersebut. Sebuah contoh yang baik untuk ini adalah class String. Sangat mungkin memiliki dua object String yang memiliki nilai yang sama. Namun, jika Anda menggunakan operator == untuk membandingkan obyek ini, kedua obyek tersebut akan menghasilkan hasil yang tidak sama. Walaupun isinya ternyata sama akan tetapi pada
kenyataannya mereka bukan merupakan obyek yang sama. Untuk melihat jika dua object String memiliki nilai yang sama, sebuah method dari class yaitu equals() digunakan. Method ini akan memeriksa setiap karakter dalam string dan mengembalikan nilai true jika dua obyek string memiliki nilai yang sama.

sebelum membuat class maka buatlah sebuah java project dengan cara klik File --> New --> Java Project , maka akan muncul tampilan seperti gambar dibawah ini :


setelah membuat java project maka kita akan membuat kelas, seperti gambar dibawah ini dengan cara klik File --> New --> Class maka akan muncul tampilan seperti gambar dibawah ini :


 Contoh kode program :
class EqualsTest {
public static void main(String[] arguments) {
String str1, str2;
str1 = "Free the bound periodicals.";
str2 = str1;
System.out.println("String1: " + str1);
System.out.println("String2: " + str2);
System.out.println("Same object? " + (str1 == str2));
str2 = new String(str1);
System.out.println("String1: " + str1);
System.out.println("String2: " + str2);
System.out.println("Same object? " + (str1 == str2));
System.out.println("Same value? " + str1.equals(str2));
}
}

contoh pemogramannya, pertama kita membuat class :



Source code yang telah diketikkan :




Output :


Tampilan keseluruhan :


Sumber : JENI ( Java Education Network Indonesia )










0 comments:

Post a Comment

Twitter Delicious Facebook Digg Stumbleupon Favorites More