OBJECT
ORIENTED PROGRAMMING
Inner
Class
q Didalam
Java kita bisa mendefinisikan nested
class
q Nested
Class atau Inner Class adalah Class yang dideklarasikan didalam class lain .
q Kemampuan
ini ada sejak Java versi 1.1.
q Nested
Class hanya dikenali pada outer classnya.
q Inner
Class dapat Mengakses semua property dan
method outer classnya termasuk yang private.
q Sebaiknya
outer class tidak dapat mengakses member
dari inner classnya secara langsung.
q Untuk
mengakses member dari inner class, outer classnya harus menciptakan object
inner classnya.
Abstract
Class
q Abstract
Class tidak berbeda dengan class - class lainnya yaitu memiliki class
member (method dan property).
q Sebuah
class adalh abstrak jika salah satu methodnya dideklarasikan abstrak.
q Methods
abstrak adalah method yang tidak memiliki implementasi.
q Contoh
deklarasi :
abstract
public void cetak();
q Beberapa
hal yang perlu diperhatikan adalah sebagai berikut :
- Class Abstract tidak dapat
dibuatkan instan atau objectnya menggunakan keyword new.
- Sebuah class dapat
dideklarasikan sebagai class abstract walaupun tidak memiliki tidak method
abstract.
- Variabel
dengan tipe class abstract tetap bisa diciptakan, tetapi harus refer ke
subclass dari class abstract tersebut yang tentunya tidak abstract.
Interface
q Interface
adalah class yang hanya mengandung
deklarasi method tanpa memiliki implementasi dan semua property yang dimilikinya bersifat final.
q Interface
mirip dengan class abstract, tetapi interface tidak terikat dengan class
hirarki.
Aturan pendeklarasian Interface adalah sebagai berikut :
q Modifier
yang digunakan hanyan public atau tidak sama sekali. Jika tidak
menggunakan modifier maka interface tersebut hanya dapat diakses dalam package
yang sama.
q Semua
variabel yang dideklarasikan dalam interface secara otomatis adalah static
final. Karena itu waktu pendeklarasian
harus diberikan nilai.
q Semua
method adalah abstract. Bedanya dengan
class abstract adalah kita tidak perlu menuliskan keyword abstract pada saat
mendeklarasikan method dalam interface.
q Kita
dapat mengimplementasikan lebih dari satu interface (Multi Inheritance) dengan
memisahkan nama dari setiap interface dengan tanda koma.
q Dapat
terjadi saat kita mengimplementasi kan lebih dari satu interface ternyata
interface – interface tersebut memiliki method yang sama. Dalam hal ini method
yang akan diimplementasi adalah method yang berada pada posisi pertama.
q Semua
method yang diimplementasikan harus public.
q Jika
kita tidak mengimplementasikan semua method yang ada pada interface, maka class
tersebut harus dideklarasikan sebagai abstract class.
inteerface
q package
main;
q public
class Implementasi implements Interface2, Interface1 {
q @Override
q public void cetak() {
q // TODO
Auto-generated method stub
q System.out.println("Cetak");
q }
q @Override
q public void print() {
q // TODO
Auto-generated method stub
q System.out.println("Print");
q }
q }
Package
q Package
adalah cara untuk mengelompo
kan
class dan interface yang ada kedalam kelompoknya (name space) masing-masing
sehingga mudah diatur dan memungkinkan penggunaan nama yang sama.
q Untuk
mendefinisikan suatu package digunakan kkeyword package.
q Pendefinisian
nama package harus terletak dibagian paling atas dari source program kita.
q Kita
juga dapat membuat package secara hirarki layaknya struktur directory.
Contoh
:
package
hen.com.contoh;
q Pada
contoh diatas menunjukan bahwa semua class atau interface yang menggunakan
deklarasi package ini harus disimpan pada directory hen->com->contoh.
q Apabila
program kita akan menggunakan sebuah class yang terletak pada package yang
berbeda, maka kita harus mengimpornya agar dapat digunakan..
Exception
q Exception
dalam java didefinisikan sebagai sebuah obyek yang muncul ketika terjadi
kondisi tidak normal dalam sebuah program.
q Untuk
menangani exception dalam sebuah program, dapat diggunakan pernyataan try,
catch, dan finally.
q package com.hen.contoh;
q public class A {
q
q }
package org.net.info;
import com.hen.contoh.A;
public class B {
A objA
=new A();
}
package
com.hen.contoh;
public
class Test {
}
Exception
q Try
atau block try digunakan untuk menjaga pernyataan yang memungkin kan timblnya
exception.
q Catch
atau block catch digunakan untuk menangani exception ketika muncul.
q Finally
digunakan untuk menutup proses penanganan exception, dimana pernyataan ini
boleh untuk tidak digunakan. Block finally pasti akan dieksekusi saat terjadi
error atau tidak.
Exception
package main;
public class TestException {
public
static void main(String[] args) {
int
i = 10;
int
x = 2;
try{
int
hasil = i/x;
System.out.println("Tidak
terjadi error! hasil="+hasil);
}catch(ArithmeticException
ex){
System.out.println("Terjadi
Error");
}finally{
System.out.println("Finally
Pasti dieksekusi");
}
}
}