Final
Final dapat dibagi menjadi 3 macam yaitu :
- Final Field
Apabila suatu field dideklarasikan final, maka field tersebut tidak bisa diubah lagi nilainya (menjadi konstanta).
Contoh :
class katt
{
final int jumlah_kaki = 4; //field (dideklarasikan final)
}
Field jumlah_kaki tidak bisa diubah lagi nilainya.
- Final Method
Apabila suatu method dideklarasikan final, maka kita tidak bisa melakukan overriding untuk method tersebut.
Contoh :
class katt
{
final void suara()
{
System.out.println("Miaww...");
}
}
class siam extends katt //siam adalah turunan dari katt
{
void suara() // overriding akan menghasilkan error, method
{ // suara() pada katt dideklarasikan final
System.out.println("Murr...Murr...");
}
}
Method suara() pada katt tidak bisa di-override.
- Final Class
Apabila suatu class dideklarasikan final, maka class tersebut tidak bisa diturunkan lagi.
Contoh :
final class katt // class katt dideklarasikan final
{
...
...
}
class siam extends katt //siam adalah turunan dari katt
{ //akan menghasilkan error(class katt
... //dideklarasikan final)
}
Super
Keyword super digunakan untuk memanggil method pada superclass.
Contoh :
class katt
{
public void suara()
{
System.out.println("Miaww...");
}
}
class siam extends katt //siam adalah turunan dari katt
{
public void mengeong()
{
super.suara(); //memanggil method suara pada superclass katt
}
public static void main(String[] args)
{
siam siam1 = new siam();
siam1.suara(); //mencetak "Miaww..."
This
This digunakan untuk menujuk pembuat kelas(variabel instant) dan digunakan untuk menyatakan objek sekarang atau object dalam class tersebut.
Contoh this :
class manusia
{
int a = 1 ; //field (dideklarasikan private)
int b = 1 ;
public void set_nama() //method (dideklarasikan private)
{
System.out.println(a) ; //1
System.out.println(b) ; // 1
}
public void set_nama2(int a) //10 method (dideklarasikan public)
{
System.out.println(this.a) ; //1
System.out.println(a) ; //10
this.a= a; // dalam kelas yang sama varibel bisa di akses ; // method dalam kelas
yang sama bisa akses
//System.out.println(a) ;
System.out.println(this.a) ;
System.out.println(b) ;
}
public void set_nama3() //10 method (dideklarasikan public)
{
System.out.println("set nama 3") ;
System.out.println(a) ; //1
}
}
class tes_manusia
{
public static void main(String[] args)
{
manusia orang_1 = new manusia();
orang_1.set_nama() ;
orang_1.set_nama2(10);
orang_1.set_nama3() ;
}
}
Private, Public dan Protected
Private berarti bahwa pengaksesan suatu variabel instan atau metode hanya dapat dilakukan dalam satu kelas tidak bisa diakses dari luar kelas.
Public berarti bahwa pengaksesan suatu varibel instan atau metode dapat dilakukan dari luar kelas
Protected berguna untuk mengatur agar suatu variabel instan ataupun metode yang terdapat pada sebuah kelas dapat diakses pada kelas itu sendiri dan sub kelas.
Contoh :
class manusia
{
private String nama = "baru"; //field (dideklarasikan private)
String nama2 ;
private void set_nama(String nama) //method (dideklarasikan private)
{
this.nama=nama;
System.out.println(nama) ;
}
public void set_nama2(String nama) //method (dideklarasikan public)
{
this.nama=nama;
// dalam kelas yang sama varibel bisa di akses
set_nama(nama) ;
// method dalam kelas yang sama bisa akses
System.out.println(nama) ;
}
}
class manusia2 extends manusia // turunan kelas manusia
{
public void set_nama2(String nama)
//method (dideklarasikan public)
{
nama = nama;
//super.set_nama(nama) ;
// method dalam turunan kelas manusia, tidak bisa akses set nama
super.set_nama2(nama) ;
}
}
class tes_manusia
{
public static void main(String[] args)
{
manusia orang_1 = new manusia();
orang_1.set_nama2("Hendri");
//orang1.nama=("Hendri S");
// error! nama dideklarasikan private pada class manusia
manusia2 orang_2 = new manusia2();
orang_2.set_nama2("Hendri2");
}
}
Class Diagram
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).
Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan
satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Class memiliki tiga area pokok :
1. Nama (dan stereotype)
2. Atribut
3. Metoda
Hubungan Antar Class
- Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class.
- Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).
- Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
- Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.
0 komentar:
Posting Komentar