Instance dari class tabung.
Tabung merupakan turunan dari class
lingkaran yang merupakan turunan dari class point.Tampilkan koordinat,
jari-jari, luas dan isi silinder!
Review
class point {
private int X;
private int Y;
public point(int x, int y) { X = x; Y
= y; }
public void setX(int x) { X = x; }
public void setY(int y) { Y = Y; }
public int getX() { return X; }
public int getY() { return Y; }
}
Review
class lingkaran extends point {
private double radius;
public lingkaran(int x, int y, double
r) { super(x,y); setRadius(r); }
public void setRadius(double r) {
radius = (r < 0.0 ? 0.0 : r); }
public double getRadius() { return
radius; }
public double hitungDiameter() {
return 2*radius; }
public double hitungKeliling() { return
3.14*hitungDiameter(); }
public double hitungLuas() { return
3.14*getRadius()*getRadius(); }
}
Review
class tabung extends lingkaran {
private int tinggi;
public tabung(int x, int y, double r,
int t) { super(x,y,r); tinggi = t; }
public void setTinggi(int t) { tinggi
= t; }
public int getTinggi() { return
tinggi; }
public double hitungLuas()
{ return 2*super.hitungLuas() +
hitungKeliling()*getTinggi(); }
public double hitungIsi()
{ return
super.hitungLuas()*getTinggi(); }
}
Review
public class Contoh {
public static void main(String
args[]) {
tabung silinder = new
tabung(4,5,2,3);
System.out.println("Koordinat
silinder: X = " + silinder.getX());
System.out.println("Koordinat
silinder: Y = " + silinder.getY());
System.out.println("Jari-jari
silinder = " + silinder.getRadius());
System.out.println("Tinggi
silinder = " + silinder.getTinggi());
System.out.println("Luas
silinder = " + silinder.hitungLuas());
System.out.println("Isi silinder
= " + silinder.hitungIsi());
}
}
Abstrak
Abstract class adalah suatu class
yang merupakan suatu kerangka yang dibuat untuk digunakan oleh class yang
lain (yang merupakan turunannya).Karena hanya merupakan kerangka, maka
tidak ada
operasi yang diimplementasikan pada
class tersebut.
abstract class Pesan {
private String pengirim
public Pesan(String dari) { pengirim
= dari; }
public String getPengirim() { return
pengirim;
public void Penyampaian();
}
Keyword abstract mengindikasikan
bahwa method yang dibuat tidak dapat dispesifikasikan di class tersebut. Suatu
method abstract memastikan bahwa semua turunan (non-abstract) dari class
tersebut akan mengaplikasikan method tersebut.Suatu abstract class tidak dapat
dibuat obyeknya. Kita masih dapat membuat object variable dari abstract class
tapi referensinya harus menunjuk ke obyek non-abstract dari
subclassnya.
Pesan psn = new
PesanSuara(“salam.wav”);
Contoh:
class PesanTertulis(String dari,
String t) extends Pesan{
super(dari);
teks = t;
public void Penyampaian() {
System.out.println(teks);
}
private String teks;
}
Interface
JAVA menyediakan interface untuk
mendukung multiple inheritance. Interface hanya mendefinisikan
spesifikasi method, tanpa menyediakan
kode program yang menjelaskan apa yang dilakukan method-method yang
didefinisikan.
File bentuk.java
public interface bentuk {
public double getLuas();
public double getIsi();
public String getNama();
}
File point.java
public class Point extends Objects
implements bentuk {
private int x; private int y;
public Point() { }
public Point (int nilaiX, int nilaiY)
{
x = nilaiX; y = nilaiY;
}
public void setX(int nilaiX) { x =
nilaiX; }
public void setY(int nilaiY) { y =
nilaiY; }
public int getX() { return x; }
public int getY() { return y; }
public double getLuas() { return 0.0;
}
public double getIsi() { return 0.0;
}
public String getNama() { return
"titik"; }
}
Package
Package adalah pengelompokan beberapa
buah class yang saling berhubungan. Untuk membuat agar suatu
source file class masuk dalam suatu
kelompok class, digunakan statement package dengan sintaks
deklarasi:
package nama_package;
Package bersifat hirarkis, dipisahkan
dengan titik. (contoh, abc.bagKeuangan.Karyawan)
Package bermanfaat jika kita akan
mendistribusikan suatu aplikasi. Package memungkinkan kita menyembunyikan class
dan method tanpa membuatnya private. JAVA code yang ada pada suatu package
memiliki akses ke semua class dan method yang tidak private.
File Pegawai.java
package civitasAkademika;
public class Pegawai {
private String nama;
private String nip;
public Pegawai(String Nama, String
Nip) {
this.nama = Nama;
this.nip = Nip;
}
protected void setNama(String Nama) {
this.nama = Nama; }
protected void setNip(String Nip) {
this.nip = Nip; }
protected String lihatData() {
return "Nama\t: “ + nama +
"\nNIP\t: “ + nip;
}
}
File PegEdukatif.java
package civitasAkademika;
public class PegEdukatif extends
Pegawai {
private String fakultas;
public PegEdukatif(String Nama,
String Nip, String Fakul
super(Nama,Nip);
this.fakultas = Fakultas;
}
public void setFakultas(String
Fakultas) { this.fakultas =
public String lihatData() {
return super.lihatData() +
"\nFakultas\t: “ + fakultas;
}
}
File PegNonEdukatif.java
package civitasAkademika;
public class PegNonEdukatif extends
Pegawai {
private String unit;
public PegNonEdukatif(String Nama,
String Nip, String Unit) {
super(Nama,Nip);
this.unit = Unit;
}
public void setUnit(String Unit) {
this.unit = unit; }
public String lihatData() {
return super.lihatData() +
"\nUnit\t: “ + unit;
}
}
Jika dibutuhkan akses ke suatu class
atau method yang tidak private dari suatu package, maka class tersebut harus
disediakan dengan statement import. Statement ini digunakan untuk “membawa”
class dari suatu package ke address space yang aktif saat itu.
Catatan:
1. Semua class harus diletakkan dalam
directory yang bernama sama dengan nama package
2. Package dicompile di luar
directory package C:\javac dirPackage/*.java
File PegNonEdukatif.java
import civitasAkademika.*;
public class DataKaryawan {
public static void main(String[]
args) {
PegEdukatif a = new
PegEdukatif("Budi","98E1234","Teknik");
PegNonEdukatif b = new
PegNonEdukatif("Ari","95NE1000","BIRO2");
System.out.println(a.lihatData());
System.out.println(b.lihatData());
}
}
Platform JAVATM2, telah menyediakan
beberapa standard package class (disebut class library) yang
mengimplemen-tasikan operasi-operasi
dasar yang dibutuhkan oleh program JAVA.
java.util berisi class-class
utility seperti membuat bialangan random, mendefinisikan property system, dan
fungsi yang berhubungan dengan tanggal.
java.io berisi class-class
yang menangani file I/O.
java.net berisi class-class yang
berkaitan dengan operasi jaringan, socket dan URL.
java.applet berisi class-class yang
menyediakan aplikasi applet. java.awtberisi class-class untuk membuat Abstract
Window Toolkit, yang digunakan untuk membuat interface berbasis grafis
(GUI).
java.lang berisi class-class
seperti String, Math, Integer dan Thread.