Pertemuan 6 Praktek Pembuatan Program dengan menggunakan Inheritance Universitas Indraprasta PGRI
public class Mobil { public void sedan(){ public void sedan(){ System.out.println("Mobil sedan bagus"); } public void merci(){ System.out.println("Mobil merci mahal"); }
protected class Mobil { protected void sedan(){ protected void sedan(){ System.out.println("Mobil sedan bagus"); } protected void merci(){ System.out.println("Mobil merci mahal"); }
privated class Mobil { public void sedan(){ public void sedan(){ System.out.println("Mobil sedan bagus"); } private void merci(){ System.out.println("Mobil merci mahal");
Contoh Inheritance Kelas persegipanjang class PersegiPanjang { // Data field PersegiPanjang double panjang = 1.0; double lebar = 1.0; // Konstruktor pertama PersegiPanjang() { } // Konstruktor kedua PersegiPanjang(double x) { panjang = x;
// Kondtruktor kedua PersegiPanjang(double x, double y) { panjang = x; lebar = y; } // Metoda mencari keliling double mencariKelilingPP() { return 2 * (panjang * lebar); // Metoda memcari double mencariLuasPP() { return panjang * lebar; }
Kelas Balok // Nama file : Balok.java // Mendefinisikan kelas Balok // Meletakkan kelas Balok package bagun.ruang; // Mengimpor kelas PersegiPanjang import bangun.datar.PersegiPanjang; // Deklarasi kelas Balok public class Balok extends PersegiPanjang {
// Deklarasi variabel tinggi private double tinggi = 1.0; // Accessor data field tinggi public double getTinggi() { return tinggi; } // Mutator data field tinggi public void setTinggi(double tinggi) { this.tinggi = (tinggi > 1) ? tinggi : 1; // Mencari volume balok public double mencariVolumeB() { return mencariLuasPP() * tinggi; }
Kelas DemoBalok // Nama file : DemoBalok.java // Menguji kelas Balok // mengimpor kelas import java.text.DecimalFormat; import javax.swing.JOptionPane; import javax.swing.JTextArea; import bangun.ruang.Balok; // Deklarasi kelas DemoBalok public class DemoBalok { // Metoda main public static void main(String[ ] args) {
// Mendeklarasikan variabel acuan ke objek DecimalFormat decimalFormat; JTextArea textArea; Balok balok; // Membuat objek Balok balok = new Balok(); decimalFormat = new DecimalFormat("0.00"); String string = "Menggunakan Kelas Balok\n"; string += "\nPanjang balok : " + decimalFormat.format(balok.getPanjang()); string += "\nLebar balok : " + decimalFormat.format(balok.getLebar()); string += "\nTinggi balok : " + decimalFormat.format(balok.getTinggi()); string += "\nVolume balok : " + decimalFormat.format(balok.mencariVolumeB());
// Memodifikasi panjang dan lebar string += "\n\nMemodifikasi panjang = 5 dan lebar = 3"; balok.setPanjang(5); balok.setLebar(3); string += "\nPanjang balok : " + decimalFormat.format(balok.getPanjang()); string += "\nLebar balok : " + decimalFormat.format(balok.getLebar()); string += "\nTinggi balok : " + decimalFormat.format(balok.getTinggi()); string += "\nVolume balok : " + decimalFormat.format(balok.mencariVolumeB()); // Membuat objek JTextArea textArea = new JTextArea(); // Menampilkan hasil textArea.setText(string); JOptionPane.showMessageDialog(null, textArea, "Kelas Balok", JOptionPane.INFORMATION_MESSAGE); // Mengakhiri program berpenampilan GUI System.exit(0); } }