INHERITANCE ( PEWARISAN)
Adalah pewarisan sifat-sifat suatu object kepada object turunannya.
Contoh:
Class Karyawan (Karyawan.java)
class Karyawan
{
String
nip,nama,gol;
int sts_kar;
}
Class Honorer (Honorer.java)
class Honorer
extends Karyawan
{
double
honor,kehadiran, tot_honor;
}
Class Tetap (Tetap.java)
class Tetap
extends Karyawan
{
double
gaji,tunjangan, kehadiran, tot_gaji;
}
Class KaryawanMain
(KaryawanMain.java)
import
java.io.BufferedReader;
import
java.io.IOException;
import
java.io.InputStreamReader;
public class
KaryawanMain {
private
Karyawan k;
private Tetap
kt;
private
Honorer kh;
private
BufferedReader bf;
public
KaryawanMain() throws IOException {
inisialisasi();
}
public void
inisialisasi() throws IOException {
k = new
Karyawan();
kt = new
tetap();
kh = new honorer();
bf = new
BufferedReader(new InputStreamReader(System.in));
getInput();
}
public void
getInput() throws IOException {
System.out.print("Nip
: ");
k.nip =
bf.readLine();
System.out.print("Nama
: ");
k.nama =
bf.readLine();
System.out.print("Gol
: ");
k.gol =
bf.readLine();
System.out.print("Status
[1/2] : ");
k.sts_kar =
Integer.parseInt(bf.readLine());
getStatusGajiKaryawan();
}
public void
getStatusGajiKaryawan() throws IOException {
if (k.sts_kar
== 1) {
System.out.print("Gaji
Pokok : ");
kt.gaji =
Double.parseDouble(bf.readLine());
System.out.print("tunjangan
: ");
kt.tunjangan
= Double.parseDouble(bf.readLine());
System.out.print("Kehadiran
: ");
kt.kehadiran
= Double.parseDouble(bf.readLine());
double hadir
= 25000 * kt.kehadiran;
kt.tot_gaji =
hadir + kt.gaji + kt.tunjangan;
} else {
System.out.print("Honor
Pokok : ");
kh.honor =
Double.parseDouble(bf.readLine());
System.out.print("Kehadiran
: ");
kh.kehadiran
= Double.parseDouble(bf.readLine());
double hadir
= 25000 * kh.kehadiran;
kh.tot_honor
= hadir + kh.honor;
}
getInfo();
}
public void
getInfo() {
System.out.println("-------------------------------------");
System.out.println("Nama
= " + k.nama);
System.out.println("NIP
= " + k.nip);
System.out.println("Golongan
= " + k.gol);
if (k.sts_kar
== 1) {
System.out.println("Total
Gaji = " + kt.tot_gaji);
} else {
System.out.println("Total
Honor = " + kh.tot_honor);
}
System.out.println("-------------------------------------");
}
public static
void main(String[] args) throws IOException {
new
KaryawanMain();
}
}
ENCAPSULATION (Pengkapsulan)
Adalah penyatuan beberapa atribut (field) dan fungsi (method) kedalam object.
Contoh:
Kelas Main :
public class Main{
public static void main(String[] args){
karnivora harimau = new karnivora(“harimau”,”mamalia”);
herbivora gajah = new herbivora(“gajah”,”mamalia”);
karnivora hiu = new karnivora(“hiu”,”mamalia”);
herbivora kambing = new herbivora(“kambing”,”mamalia”);
herbivora ayam = new herbivora(“ayam”,”aves”);
System.out.println(harimau.getDetails() );
System.out.println(gajah.getDetails() );
System.out.println(hiu.getDetails() );
System.out.println(kambing.getDetails() );
System.out.println(ayam.getDetails() );
}
}
Kelas Hewan :
public class hewan {
public String nama;
public String jenis;
public hewan (String n, String j) {
nama = n;
jenis = j ;
}
public String getDetails() {
return “Name : “+nama+, “Jenis : “+jenis ;
}
public void makan () {
}
}
Kelas Karnivora :
public class karnivora extends hewan {
public karnivora (String nama, String jenis) {
super (nama, jenis);
}
public String berburu () {
return “berburu” ;
public class Main{
public static void main(String[] args){
karnivora harimau = new karnivora(“harimau”,”mamalia”);
herbivora gajah = new herbivora(“gajah”,”mamalia”);
karnivora hiu = new karnivora(“hiu”,”mamalia”);
herbivora kambing = new herbivora(“kambing”,”mamalia”);
herbivora ayam = new herbivora(“ayam”,”aves”);
System.out.println(harimau.getDetails() );
System.out.println(gajah.getDetails() );
System.out.println(hiu.getDetails() );
System.out.println(kambing.getDetails() );
System.out.println(ayam.getDetails() );
}
}
Kelas Hewan :
public class hewan {
public String nama;
public String jenis;
public hewan (String n, String j) {
nama = n;
jenis = j ;
}
public String getDetails() {
return “Name : “+nama+, “Jenis : “+jenis ;
}
public void makan () {
}
}
Kelas Karnivora :
public class karnivora extends hewan {
public karnivora (String nama, String jenis) {
super (nama, jenis);
}
public String berburu () {
return “berburu” ;
}
}
Kelas Herbivora :
public class herbivora extends hewan {
public herbivora (String nama, String jenis) {
super (nama, jenis);
}
public String berkembangbiak() {
}
}
Polymorphic (Banyak bentuk)
Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila method yang sama dipanggil, dimana aksi method tergantung dari tipe objeknya.
Contoh:
abstract class Bentuk {
protected int panjang;
protected int lebar;
public String getBentuk() {
return "Bentuk Dasar";
}
public abstract int hitungLuas();
}
class BujurSangkar extends Bentuk {
public BujurSangkar(int panjang1, int lebar1) {
this.panjang = panjang1;
this.lebar = lebar1;
}
public String getBentuk() {
return "Bentuk Bujur Sangkar";
}
public int hitungLuas() {
return panjang*lebar;
}
}
class SegiTiga extends Bentuk {
public SegiTiga(int panjang2, int lebar2) {
this.panjang = panjang2;
this.lebar = lebar2;
}
//public String getBentuk() {
//return "Bentuk Segi Tiga";
//return "";
//}
public int hitungLuas() {
return this.panjang*this.lebar/2;
}
}
class Polimorfisme {
public static void cetakLuasBentuk(Bentuk btk) {
System.out.println(btk.getBentuk() + " dengan luas " +
btk.hitungLuas());
}
public static void main(String[] args) {
BujurSangkar bs = new BujurSangkar(10,20);
BujurSangkar bs1 = new BujurSangkar(10,20);
SegiTiga st = new SegiTiga(5,10);
SegiTiga st1 = new SegiTiga(50,100);
cetakLuasBentuk(bs);
cetakLuasBentuk(bs1);
cetakLuasBentuk(st);
cetakLuasBentuk(st1);
}
}
protected int panjang;
protected int lebar;
public String getBentuk() {
return "Bentuk Dasar";
}
public abstract int hitungLuas();
}
class BujurSangkar extends Bentuk {
public BujurSangkar(int panjang1, int lebar1) {
this.panjang = panjang1;
this.lebar = lebar1;
}
public String getBentuk() {
return "Bentuk Bujur Sangkar";
}
public int hitungLuas() {
return panjang*lebar;
}
}
class SegiTiga extends Bentuk {
public SegiTiga(int panjang2, int lebar2) {
this.panjang = panjang2;
this.lebar = lebar2;
}
//public String getBentuk() {
//return "Bentuk Segi Tiga";
//return "";
//}
public int hitungLuas() {
return this.panjang*this.lebar/2;
}
}
class Polimorfisme {
public static void cetakLuasBentuk(Bentuk btk) {
System.out.println(btk.getBentuk() + " dengan luas " +
btk.hitungLuas());
}
public static void main(String[] args) {
BujurSangkar bs = new BujurSangkar(10,20);
BujurSangkar bs1 = new BujurSangkar(10,20);
SegiTiga st = new SegiTiga(5,10);
SegiTiga st1 = new SegiTiga(50,100);
cetakLuasBentuk(bs);
cetakLuasBentuk(bs1);
cetakLuasBentuk(st);
cetakLuasBentuk(st1);
}
}
jangan lupa berkunjung kk
BalasHapushttps://gunghofigun.wordpress.com/