Friday, November 1, 2013

Apa dan Kegunaan keyword Abstract di Java - Simple Programming Tutorial

Yay...
Bukan gw banget bikin ini tutorial. Anyway, gw mo sedikit berbagi ilmu.
Dan kali ini topiknya adalah : "Apa itu abstract class dan gunanya untuk apa?"

perlu gw tekankan sekilas, di C# pun class dapat di inisiasi sebagai sebuah abstract class, dan fungsinya pun nggak jauh beda dari java. Tapi gw bakal bahas ke arah java nya aja, yang lain mengikuti...

Sebuah class yang diawali dengan tulisan abstract disebut sebagai abstract class, yaitu sebuah class yang nggak bisa di inisiasi walau begitu mereka dapat dijadikan sebuah parent dari class-class lainnya.

dari td gw ngomong inisiasi dan inisiasi, sebenarnya apa sih inisiasi itu?
inisiasi = dibuat object. Lah, apalagi ini?? intinya dari dibuat object, kita reserve space dari kapasitas memori yang kita punya untuk membuat object dari class itu. biasanya dibuat dengan keyword new(akan dijelaskan di contoh).
 Terkadang method didalam sebuah abstract class dapat diimplementasikan secara keseluruhan, atau tidak diimplementasikan sama sekali.
keyword abstract dapat pula diterapkan kepada method yang dibuat, dengan membuat sebuah method menjadi abstract, maka body dari sebuah method tidak perlu didefiniskan didalam kelas tersebut. namun, abstract method ini WAJIB diimplementasikan didalam kelas yang menjadi anak(yang meng-extend si class ini) dan mengisi body yang kosong.

Example :
oke, gw ambil contoh langsung dari website java documentationnya langsung.
abstract class GraphicObject //buat class abstract 
//bernama GraphicObject
{
    int x, y;//universal variable
    ...
    void moveTo(int newX, int newY) {
        ...//body here
    }
    abstract void draw();//deklarasikan sebuah method bernama draw
 //kita nggak perlu buat bodynya, langsung akhiri aja 
//dengan semi-colon
 abstract void resize();
}
 
class Circle extends GraphicObject 
{
    void draw() {
        ...
    }
    void resize() {
        ...
    }
}
class Rectangle extends GraphicObject //buat sebuah class 
//bernama rectangle;
//extends class GraphicObject(yang abstract td) 
{
    void draw() //wajib dibuat
    {
        ...//isi dengan fungsi yang mo dilakukan
    }
    void resize() //wajib dibuat
{
        ...//isi dengan fungsi yang mo dilakukan
    }
} 


Ok, that's all. Semoga membantu buat yang masih bingung tentang abstract class ini. Ada pula interface, tapi gw bakal posting di tulisan berikutnya. Stay tune :)
Terus belajar, dan gw saranin sering sering latihan dan baca tutorial yang ada di internet.
Thanks.

like our page : ScheneDev

1 comment:

Your Comment is Our Order, Your Majesty