NIM : 160411100054
Abstract class adalah kelas yang terletak pada posisi
tertinggi pada tingkatan kelas. Kelas ini
digunakan sebagai tempat bagi penurunan
kelas lainnya, sehingga abstract class tidak dapat digunakan secara
langsung menjadi object. Suatu abstract class bisa mengandung method kongkrit
dan/atau method abstract. Abstract method meruapakan suatu method yang tidak
mempunyai badan method. Hanya berupa nama method dan parameter inputan method.
Concrete Class adalah kelas yang memiliki objek secara jelas dan pasti antara lain rumah, mobil, dan sepeda
Interface adalah kumpulan method
yang hanya memuat deklarasi dan struktur method, tanpa detail implementasinya.
Sedangkan detail dari method berada pada class yang mengimplementasikan
interface tersebut. Interface digunakan bila Anda ingin mengaplikasikan suatu
method yang spesifik, yang tidak diperoleh dari proses inheritance
Abstract Class dikatakan Abstract karena class tersebut tidak diimplementasikan
secara langsung di class tersebut. Melainkan diimplementasikan di class lain
yang merupakan class anak dari abstract class itu. Itulah sebabnya dinamakan
abstract class. Berikut perbedaan antara class abstract dengan interface:
- Abstract class dapat memiliki tipe data dengan semua tipe data, sedangkan interface tipe datanya hanya berupa konstanta
- Method pada abstract class dapat berupa method kongkrit dan method abstract. Sedangkan pada interface semua method harus berupa method abstract.
- Interface Class jelas berbeda dengan abstract class. Karena class ini mengimplementasikan methodnya di class lain dihubungkan dengan kata “implements”. Method class interface tadi diimplementasikan dengan nama method yang sama di class
- yang diimplementasikan.
Pada contoh kali ini saya mencoba untuk membuat contoh penerapan itu semua, saya menggunakan Motor & Jenis sebagai abstract, kemudian jenis dan tipe sebagai super class. ATV sebagai cocrete dan Roda sebagai Interface.
Motor.
package tugas8;
public abstract class Motor extends Jenis {
}
public abstract class Motor extends Jenis {
}
Jenis.
package tugas8;
public abstract class Jenis {
public abstract class Jenis {
public abstract void model();
public abstract void tipe();
}
Program Utama
package tugas8;
public class progutama {
public static void main(String[]args){
progutama k = new progutama();
System.out.println("Model Motor");
k.model();
System.out.println("Tipe Motor");
k.tipe();
k.Roda();
}
public void Roda() {
System.out.println("Beroda 2");
}
public static void model() {
System.out.println("Sport ");
}
public static void tipe() {
System.out.println("Vixion");
}
}
public class progutama {
public static void main(String[]args){
progutama k = new progutama();
System.out.println("Model Motor");
k.model();
System.out.println("Tipe Motor");
k.tipe();
k.Roda();
}
public void Roda() {
System.out.println("Beroda 2");
}
public static void model() {
System.out.println("Sport ");
}
public static void tipe() {
System.out.println("Vixion");
}
}
Program ATV
package tugas8;
public class Progatv {
public static void main(String[]args){
Progatv k = new Progatv();
System.out.println("Model Motor");
k.model();
System.out.println("Tipe Motor");
k.tipe();
}
public static void tipe() {
System.out.println("Off Road ");
}
public static void model() {
System.out.println("Yzr-R1");
}
}
public class Progatv {
public static void main(String[]args){
Progatv k = new Progatv();
System.out.println("Model Motor");
k.model();
System.out.println("Tipe Motor");
k.tipe();
}
public static void tipe() {
System.out.println("Off Road ");
}
public static void model() {
System.out.println("Yzr-R1");
}
}
Roda
package tugas8;
public interface Roda {
public interface Roda {
public abstract void Roda();
}
Hasil Runing Program
Tidak ada komentar:
Posting Komentar