Anda di halaman 1dari 23

ABSTRACT METHOD,

CLASS dan Interface


CASTING DAN CONVERTION
GOAL
• Memahami Konsep Abstract Method, Abstract Class dan Interface
• Memahami Aturan Casting dan Convertion pada Object
Abstract method
Abstract method merupakan sebuah method yang dideklarasikan
dengan menambahkan keyword abstract pada deklarasinya, dan tanpa
ada implementasi dari method tersebut.
Dalam arti, hanya pendeklarasian saja, tanpa tanda sepasang kurung
kurawal. Tetapi diakhiri dengan tanda titik koma.

Abstract method adalah method yang belum mempunyai


implementasi.Kita dapat menyatakan suatu method abstract dengan
membutuhkan keyword abstract pada deklarasi method tersebut
Contoh
abstract void setName();
abstract void setMakanan();
Abstract class
• Abstract class merupakan sebuah class yang dideklarasikan dengan
menambahkan keyword abstract pada deklarasinya.
Dalam deklarasi abstract class ini dapat didefinisikan abstract
methodnya, juga dapat tidak dideklarasikan abstract methodnya. Selain
itu, untuk abstract class ini tidak dapat di instansiasi, akan tetapi dapat
di inherit oleh subclassnya.
public abstract class Hewan {
...
}

public abstract class Hewan {


abstract void setName();
abstract void setMakanan();
}
jika sebuah class terdapat abstract method di dalamnya, maka class
tersebut harus ditandai dengan abstract dalam deklarasikannya.
Selain itu, apabila abstract class di inherit oleh class lain(subclass),
maka semua abstract method yang terkandung dalam abstract
class harus di implementasikan dalam subclass.Bila menginginkan
abstract methodnya tidak diimplementasi dalam subclass, maka
subclass tersebut harus ditandai dengan abstract dalam deklarasinya.
Contoh program
public abstract class Hewan {
// Deklarasi method public static void main(String[] args){
abstract void setName(); Kelinci k = new Kelinci();
k.setName();
abstract void setMakanan();
k.setMakanan();
}
k.setWarna();
}
public class Kelinci extends Hewan { }
public void setName(){
System.out.println("Nama hewan adalah \"KELINCI\"");
}

public void setMakanan(){


System.out.println("Makanan kelinci adalah \"WORTEL\"");
}
public void setWarna(){
System.out.println("Warna kelinci \"PUTIH\"");
}
Casting and Convertion
• Konversi adalah pemberian nilai kepada variabel yang berbeda tipe
datanya. Dalam konversi melibatkan widening conversation yaitu tipe
data tujuan harus mempunyai range yang lebih besar daripada tipe
data aslinya. Misalnya dari byte ke short,  short ke long, atau int ke
double. Konversi tidak dapat dilakukan pada tipe data Boolean
Contoh
public class Promotion{
        public static void main (String[] args){
            
             char c = 'a';
             byte b = 12;
             short s = 32767;
             int i = 2147483647;
             long l = 72036854775807L;
             float f = 3.324243532f;
             double d = 3.23442323445242;
            
             System.out.println("Default value c = "+c);
             System.out.println("Default value b = "+b);
             System.out.println("Default value s = "+s);
             System.out.println("Default value i = "+i);
             System.out.println("Default value l = "+l);
             System.out.println("Default value f = "+f);
             System.out.println("Default value d = "+d);
            
            
d = f;
             f = l;
             l = i;
             i = s;
             s = b;
             //c = i;
            
             System.out.println("\nAfter Promotion proses : ");
            
             System.out.println("\nDefault value c(int)      = "+c);
             System.out.println("Default value b(short)    = "+b);
             System.out.println("Default value s(byte)     = "+s);
             System.out.println("Default value i(short)    = "+i);
             System.out.println("Default value l (int)     = "+l);
             System.out.println("Default value f (long)    = "+f);
             System.out.println("Default value d (float)   = "+d);
   }
}
Casting adalah saat programmer melakukan konversi  antar tipe yang
tipenya tidak kompatibel, tidak dapat mengonversi secara otomatis
maka dibutuhkan casting.  Casting juga melibatkan narrowing
conversation yaitu bila tipe tujuan lebih kecil dari tujuan asal maka akan
ada informasi yang hilang. Contoh casting saat pemberian nilai dari tipe
data double ke int yang memiliki range lebih kecil dari double

Format proses casting :


i = (int)d;
i = variabel tipe data int
d = variabel tipe data double
public class Casting{
public static void main (String args[]){

char c = 'a';
byte b = 12;
short s = 32767;
int i = 2147483647; System.out.println("\nAfter Casting proses: ");
long l = 72036854775807L;
float f = 3.324243532f;
double d = 3.23442323445242; System.out.println("\nDefault value c(int) = "+c);
System.out.println("Default value b(short) = "+b);
System.out.println("Default value c = "+c);
System.out.println("Default value b = "+b); System.out.println("Default value s(int) = "+s);
System.out.println("Default value s = "+s); System.out.println("Default value i(long) = "+i);
System.out.println("Default value i = "+i);
System.out.println("Default value l = "+l);
System.out.println("Default value l (float) = "+l);
System.out.println("Default value f = "+f); System.out.println("Default value f (double) = "+f);
System.out.println("Default value d = "+d); System.out.println("Default value d (double) = "+d);
f = (float)d; }
l = (long)f; }
i = (int)l;
s = (short)i;
b = (byte)s;
c = (char)i;
PERBEDAAN INTERFACE DAN
ABSTRACT
ABSTRACT CLASS INTERFACE
 Hanya boleh berisi abstract method
• Bisa berisi abstract dan non-abstract method
 Kita tidak perlu menulis public abstract di depan nama method.
• Kita harus menuliskan sendiri modifiernya
Karena secara implisit, modifier untuk method di interface
• Bisa mendeklarasikan constant dan instance
adalah public dan abstract
variable
 Hanya bisa mendeklarasikan constant. Secara implisit variable
• Method boleh bersifat static yang dideklarasikan di interface bersifat public, static dan final
• Method boleh bersifat final  Method tidak boleh bersifat static

• Suatu abstact class hanya bisa meng-extend  Method tidak boleh bersifat final

satu abstract class lainnya  Suatu interface bisa meng-extend satu atau lebih interface
lainnya
• Abstract class hanya bisa meng-extend satu
 Suatu interface hanya bisa meng-extend interface lainnya. Dan
abstract class dan meng-implement beberapa
tidak bisa meng-implement class atau interface lainnya
interface
CONTOH PENGGUNAAN

• Buat Class komponen.java


CONTOH PENGGUNAAN ( LANJUTAN )

• Kemudian implementasikan komponen.java kedalam class mobil.java


CASTING DAN CONVERTION PADA
OBJECT
• Casting object artinya mengambil object dari suatu tipe dan
menetapkanya sebagai variable referensi dari tipe lain
• Untuk bisa melakukanya maka ada persyaratan yang harus di penuhi
yaitu object yang akan di casting harus terkait dengan inheritance
• Casting ini di bagi menjadi 2 bagian yaitu upcasting dan down casting
UPCASTING DAN DOWNCASTING
• Upcasting adalah salah satu cara untuk casting atau mengkonversikan
object dari tipe sub class ke tipe super class
• Downcasting adalah salah satu cara untuk casting atau
mengkonversikan object dari tipe super class ke tipe sub class
CONTOH PENGGUNAAN CASTING
• Buat super class
CONTOH PENGGUNAAN CASTING
(LANJUTAN)
• Buat sub class
CONTOH PENGGUNAAN CASTING
(LANJUTAN)
• Buat main class
CONTOH PENGGUNAAN CONVERTION
OBJECT
QUIZ

Anda mungkin juga menyukai