Minggu, 18 September 2011

Package

Package adalah cara untuk mengelompokan class dan interface yang ada ke dalam kelompoknya (name space) masing – masing sehingga lebih mudah diatur dan memungkinkan penggunaan nama yang sama.
Untuk mendefinisikan suatu package digunakan keyword package. Pendefinisian nama package harus terletak di bagian paling atas dari source program kita. Sintaks pendefinisian nama package adalah sebagai berikut:
package namaPackage;
Contoh:
package siswa;
Java menggunakan package seperti struktur direktori. Oleh karena itu semua class atau interface yang memiliki definisi package seperti contoh di atas, harus disimpan pada direktori bernama siswa.
Kita juga dapat membuat package secara hierarki layaknya struktur direktori.
Contoh:
package hen.com.contoh;
Pada contoh di atas menunjukan bahwa semua class atau interface yang menggunkan deklarasi package ini harus disimpan pada direktori hen -> com -> contoh.
Apabila program kita akan menggunakan sebua class yang terletak pada package yang berbeda, maka kita harus mengimportnya agar dapat digunakan.
packace control;
public interface Control {
 public void pindahChannel(int channel);
 public void perbesarVolume(int intensitas);
 public void perkecilVolume(int intensitas);
}


package tv;
import control.Control;
public class TVPolitron implements Control{
 String[] channel = {"RCTI","SCTV","INDOSIAR","ANTV","TV7"};
 public void pindahChannel(int channel) {
  System.out.println("Pindah channel pada TV Politron ke "+ this.channel[channel]);
 }
 
 public void perbesarVolume(int intensitas) {
  
  System.out.println("Perbesar volume pada TV Politron sebanyak "+ intensitas);
 }
 
 public void perkecilVolume(int intensitas) {
    System.out.println("Perkecil volume pada TV Politron sebanyak "+ intensitas);
 }

}


package tv;
import control.Control;
public class TVSamsung implements Control{
 String[] channel = {"RCTI","SCTV","INDOSIAR","ANTV","TV7"}; 
 public void pindahChannel(int channel) {  
  System.out.println("Pindah channel pada TV Samsung ke "+ this.channel[channel]);
 } 
public void perbesarVolume(int intensitas) {  
  System.out.println("Perbesar volume pada TV Samsung sebanyak "+ intensitas);
 }
public void perkecilVolume(int intensitas) {  
  System.out.println("Perkecil volume pada TV Samsung sebanyak "+ intensitas);
 }
}


package remote;
import control.Control;
import tv.*;
public class RemoteControl { 
 public void kirimPerintahKeTv(int aksi,Control tv,int tombol){
  switch(aksi){
   case 1:
    tv.pindahChannel(tombol);
    break;
   case 2:
    tv.perbesarVolume(tombol);
    break;
   case 3:
    tv.perkecilVolume(tombol);
    break;
  }
 }
}


import remote.RemoteControl;
import tv.*;
import control.Control;
public class TestRemoteControl {
 public static void main(String[] args){
  TVPolitron tvp = new TVPolitron();
  TVSamsung tvs = new TVSamsung();
  RemoteControl rc = new RemoteControl();
  
  rc.kirimPerintahKeTv(1,tvp,1);  
 }
}

Tidak ada komentar:

Posting Komentar