• Tidak ada hasil yang ditemukan

Staffsite STMIK PPKIA Pradnya Paramita

N/A
N/A
Protected

Academic year: 2017

Membagikan "Staffsite STMIK PPKIA Pradnya Paramita"

Copied!
12
0
0

Teks penuh

(1)

PEWARISAN

(2)

Definisi Pewarisan

Salah satu ciri pemrograman berorientasi

objek.

Suatu kelas dapat diturunkan lagi menjadi

kelas-kelas baru lainnya sehingga dapat

membentuk sebuah hirarki.

Kelas turunan akan mewarisi sifat-sifat yang

(3)

Superclass dan Subclass

Kelas induk yang diturunkan disebut dengan

superclass

Kelas baru hasil turunan disebut dengan

subclass

Selain mewarisi sifat-sifat dari superclass,

(4)

Contoh Pewarisan

(5)

Membuat Subclass

Java menyediakan kata kunci “extends” yang

digunakan untuk melakukan proses

penurunan terhadap suatu kelas.

Bentuk umum dari penggunaan “extends”

sebagai berikut:

class nama-subclass extends nama-superclass

{

(6)

class A {

private int a;

public void setA(int nilai) { a = nilai;

}

public int getA() { return a; }

}

//membuat kelas turunan (subclass) dari kelas A class B extends A {

private int b;

public void setB(int nilai) { b = nilai;

}

public int getB() { return b; }

}

//membuat kelas turunan (subclass) dari kelas B class C extends B {

private int c;

public void setC(int nilai) { c = nilai;

}

public int getC() { return c; }

}

//memanggil setiap class class DemoKelasTurunan2 {

public static void main(String[] args) {

//melalukan instanisasi terhadap kelas C C obj = new C();

//memberi nilai untuk kelas C obj.setA(100);

obj.setB(200); obj.setC(300);

//hasil/keluaran di layar

System.out.println("Nilai a : "+ obj.getA()); System.out.println("Nilai b : "+ obj.getB()); System.out.println("Nilai c : "+ obj.getC()); }

(7)

Kata Kunci “SUPER”

Antara subclass dan subclass terakang

memiliki data dan parameter yang sama, hal

ini bisa menyebabkan redudansi

Untuk menghindari redudansi, dapat

digunakan kata kunci “super”

Contoh:

KotakPejal (int p, int l, int t, int v) {

super(p, l, t);

(8)

Penggunaan super

Dapat memanggil parameter (seluruh data)

yang terdapat pada kelas induk.

Dapat memanggil sebagian data atau method

yang merupakan anggota dari kelas Induk.

Dalam contructor kelas turunan, super() harus

(9)

class Kotak {

protected double panjang; protected double lebar; protected double tinggi; //default contructor Kotak() {

panjang = lebar = tinggi = 0; }

Kotak(int p, int l, int t) { panjang = p; lebar = l; tinggi = t; }

public double hitungVolume() {

return (panjang * lebar * tinggi); }

}

class KotakPejal extends Kotak { private double berat;

KotakPejal(int p, int l, int t, int b) {

super(p, l, t);//memanggil contructor kelas Kotak berat = b;

}

public double getBerat() { return berat;

} }

class DemoSuper1 {

public static void main(String[] args) {

//melakukan instansiasi terhadap kelas turunan KotakPejal K = new KotakPejal(6, 5, 4, 3);

System.out.println("Volume K : " + K.hitungVolume()); System.out.println("Berat K : " + K.getBerat());

(10)

class A {

protected int a;

}

class B extends A {

private int a;//akan menimpa nilai a hasil turunan dari kelas A

//contructor

B(int nilai1, int nilai2) {

super.a = nilai1;//a di dalam kelas A

a = nilai2;//a di dalam kelas B

}

public void tampilkanNilai() {

System.out.println("Nilai a di dalam kelas A : " + super.a);

System.out.println("Nilai a di dalam kelas A : " + a);

}

}

class DemoSuper3 {

public static void main(String[] orgs) {

B obj = new B(121, 212);

obj.tampilkanNilai();

}

(11)

Polimorfisme

Kemampuan suatu objek untuk mengungkap

banyak hal melalui satu cara yang sama

Dalam polimorfisme, kelas induk

mendefinisikan sebuah method general

(bersifat umum) untuk semua kelas

turunannya

Kelas-kelas turunanya dapat memperbarui

(12)

class Bentuk {

public double luas() {

System.out.println("tidak didefinisikan"); return 0;

} }

class PersegiPanjang extends Bentuk { private double panjang;

private double lebar;

PersegiPanjang(int p, int l) { panjang = p;

lebar = l; }

public double luas() {

System.out.println("dalam objek persegi panjang: "); return (panjang * lebar);

} }

class BujurSangkar extends Bentuk { private double sisi;

BujurSangkar(int s) { sisi = s;

}

public double luas() {

System.out.println(":dalam objek bujur sangkar: "); return (sisi * sisi);

} }

class demoPolimorfisme2 {

public static void main(String[] args) { Bentuk kotak;

PersegiPanjang kotakpp = new PersegiPanjang(5,3); BujurSangkar kotakbs = new BujurSangkar(4);

//kotak mengacu pada persegi panjang kotak = kotakpp;

System.out.println("Luas : " + kotak.luas()); //kotak mengacu pada bujur sangkar

kotak = kotakbs;

System.out.println("Luas : " + kotak.luas()); }

Referensi

Dokumen terkait

I then provide empirical evidence that these reforms suc- ceeded in substantially increasing the labor market attachment of the target population and that local welfare

SEHUBUNGAN DENGAN PENGUMUMA PEMENANG, MAKA BERSAMA INI DISAMPA KAN

Pada Bab II Point 2 tertulis masa berlaku penawaran 150 (seratus lima puluh) hari kalender,sedangkan pada Bab IV huruf F masa berlaku penawaran 60 (enam puluh) hari kalender

Dengan ini kami beritahukan bahwa penawaran Saudara Nomor : ll ,1KP/SPHIIIII2AI2 tanggal 07 Maret 2A72 perlhal Penawaran Pekerjaan Pengadaan Sarana

Pendekatan sistem yang lebih menekankan pada prosedur didefinisikan bahwa sistem yaitu suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan, berkumpul

[r]

[r]

Mengunjungi pengawas SMP, SMA, dan SMK di dindik kabupatenkota, dan memberikan hasil rekap data sekolah yang tidak lengkap dan tidak valid, serta memberikan bimtek kepada sekolah