PBO 2017
TEKNIK INFORMATIKA UTM
UNIVERSITAS TRUNOJOYO MADURA
Abstract Class
Abstract Class
merupakan Class yang khusus dibuat untuk keperluan inheritance, tujuan dari
pembuatan abstract class ini ialah untuk membuat definisi umum bagi class –
class yang akan menjadi turunan darinya. Abstrac class dapat digunakan untuk
mendefinisikan method yang nantinya akan diimplementasi di Devired class (
kelas turunan atau inherit dari Abstrac Class ).
Concrete Class
Concrete Class
merupakan class yang bisa di instansiasikan atau bisa dibuat objeknya. Conrete
class bisa didefinisikan class yang nyata, dapat membentuk atau instansiasi
object. Object hanya bisa dibuat dari no-abstract class (consrete class).
Selain itu, juga dapat menurunkan implementasi dari super class dan sebagai
base class pada hierarchical relationship yang juga dibutuhkan class lain untuk
mewarisinya. Consrte class merupakan class paling ujung disetiap cabang sebuah
pohon.
Listing program
public class ayam extends binatang
{
private String duaKaki;
public ayam(String duaKaki){
this.duaKaki = duaKaki;
}
@Override
public void berjalan() {
// TODO Auto-generated method stub
System.out.println("Ayam berjalan
menggunakan : "+duaKaki);
}
}
public class harimau extends binatang
{
private String empatKaki;
public harimau(String empatKaki){
this.empatKaki = empatKaki;
}
@Override
public void berjalan() {
// TODO Auto-generated method stub
System.out.println("Harimau berjalan
menggunakan : "+empatKaki);
}
abstract class binatang {
public abstract void berjalan();
public void need() {
System.out.println("-\tMembutuhkan
makan");
System.out.println("-\tMembutuhkan
oksigen");
}
}
public class MainBinatang {
public void cekBinatang
(binatang hewan){
hewan.berjalan();
hewan.need();
}
public static void main(String[] args) {
// TODO Auto-generated method stub
MainBinatang animal = new MainBinatang();
animal.cekBinatang(new harimau("Empat Kaki"));
System.out.println("_______________________________________\n");
animal.cekBinatang(new ayam("Dua Kaki"));
}
}
Interface
Interface merupakan
kumpulan method yang hanya membuat deklarasi dan struktur method, tanpa detail
implementasinya. Sedangkan detail dari method berada pada class yang
mengimplementasikan interface tersebut. Interface digunakan jika ingin
mengaplikasikan suatu method yang spesifik, yang tidak diperoleh dari proses
inheritance. Tipe data yang boleh pada interface hanya tipe data konstan.
Listing program
public class nama1 implements Nama {
private String nama, nim;
public void setNama(String nama) {
this.nama = nama;
}
public String getNama()
{
return nama;
}
public void setNim(String nim) {
this.nim = nim;
}
public String getNim()
{
return nim;
}
}
public interface Nama {
public void setNama(String Nama);
public String
getNama();
public void setNim(String nim);
public String getNim();
}
public class nama2 implements Nama {
private String nama, nim;
public void setNama(String nama) {
this.nama = nama;
}
public String getNama()
{
return nama;
}
public void setNim(String nim) {
this.nim = nim;
}
public String getNim()
{
return nim;
}
}
public static void main(String[]
args) {
Name1 n1
= new Name1();
n1.setNama("Arif");
n1.setNim("140411100123");
Name2 n2
= new Name2();
n2.setNama("Candra");
2.setNim("130411100124");
System.out.println(n1.getNama());
System.out.println(n1.getNim());
System.out.println("______________________________\n");
System.out.println(n2.getNama());
System.out.println(n2.getNim());
Kapan menggunakannya ?
Menggunakan interface
untuk mendefinisikan method standart yang sama dalam class – class yang berbeda
sekali kita telah membuat kumpulan definisi method standar (abstrak), kita
dapat menulis method tunggal (spesifik) untuk memanipulasi semua class – class
yang mengimplementasikan interface tersebut.
Gunakan class abstract untuk mendefinisikan secara luas sifat –
sifat dari class tertinggi dari hirarki OOP, dan gunakan sebclassnya
(turunannya / child class) untuk melengkapi deskripsi method dari class
abstract.
Tidak ada komentar:
Posting Komentar