Minggu, 08 November 2015

pbo materi tentang inner class,Abstract Class,Interface,Package dan Exception

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 :
  1.                 Class Abstract tidak dapat dibuatkan instan atau objectnya menggunakan keyword  new.
  2.                 Sebuah class dapat dideklarasikan sebagai class abstract walaupun tidak memiliki tidak method abstract.
  3. 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");
                                }
                }
}






Tidak ada komentar:

Posting Komentar