Pemrograman Berorientasi Obyek:Pembuatan interface di Java
Appearance
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!");
}
}
}
}