Pemrograman Berorientasi Obyek:Pembuatan interface di Java
1. Interface Phone
package PackIntervace;
public interface Phone {
int MAX_VOLUME = 100;
int MIN_VOLUME = 0;
void powerOn();
void powerOff();
void volumeUp();
void volumeDown();
}
2. Class PhoneUser
package PackIntervace;public class PhoneUser {
private Phone phone;
public PhoneUser(Phone phone) {
this.phone = phone;
}
void turnOnThePhone(){
this.phone.powerOn();
}
void turnOffThePhone(){
this.phone.powerOff();
}
void makePhoneLouder(){
this.phone.volumeUp();
}
void makePhoneSilent(){
this.phone.volumeDown();
}
}
3. Class Xiaomi package PackIntervace; public class Xiaomi implements Phone { private int volume; private boolean isPowerOn; public Xiaomi() { // set volume awal this.volume = 50; } @Override public void powerOn() {isPowerOn = true; System.out.println("Handphone menyala..."); System.out.println("Selamat datang di XIAOMI"); System.out.println("Android version 29"); } @Override public void powerOff() { isPowerOn = false; System.out.println("Handphone dimatikan"); } @Override public void volumeUp() { if (isPowerOn) { if (this.volume == MAX_VOLUME) { System.out.println("Volume FULL!!"); System.out.println("sudah " + this.getVolume() + "%"); } else { this.volume += 10; System.out.println("Volume sekarang: " + this.getVolume()); } } else { System.out.println("Nyalakan dulu donk HP-nya!!"); } } @Override public void volumeDown() { if (isPowerOn) { if (this.volume == MIN_VOLUME) { System.out.println("Volume = 0%"); } else {this.volume -= 10; System.out.println("Volume sekarang: " + this.getVolume()); } } else { System.out.println("Nyalakan dulu donk HP-nya!!"); } } public int getVolume() { return this.volume; } } 4. Class Main package PackIntervace; import java.util.Scanner; public class Main { public static void main(String[] args) { // membuat objek HP Phone redmiNote8 = new Xiaomi(); // membuat objek user PhoneUser dian = new PhoneUser(redmiNote8); // kita coba nyalakan HP-nya dian.turnOnThePhone(); // biar enak, kita buat dalam program Scanner input = new Scanner(System.in); String aksi; while (true) {System.out.println("=== APLIKASI INTERFACE ==="); System.out.println("[1] Nyalakan HP"); System.out.println("[2] Matikan HP"); System.out.println("[3] Perbesar Volume"); System.out.println("[4] Kecilkan Volume"); System.out.println("[0] Keluar"); System.out.println("--------------------------"); System.out.print("Pilih aksi> "); aksi = input.nextLine(); if(aksi.equalsIgnoreCase("1")){ dian.turnOnThePhone(); } else if (aksi.equalsIgnoreCase("2")){ dian.turnOffThePhone(); } else if (aksi.equalsIgnoreCase("3")){ dian.makePhoneLouder(); } else if (aksi.equalsIgnoreCase("4")){ dian.makePhoneSilent(); } else if (aksi.equalsIgnoreCase("0")){ System.exit(0); } else { System.out.println("Kamu memilih aksi yang salah!"); } } } }