Menampilkan Komponen Penting Java Menggunakan Abstraksi
Pada Java, proses abstraksi dapat dilakukan dengan menggunakan interface.
Class Abstrak dan Method Abstrak:
- Class abstrak adalah class yang dideklrasikan dengan menggunakan keyword abstract.
- Method abstrak adalah method yang dideklarasikan tanpa implementation.
- Abstrak class mungkin memiliki atau tidak memiliki method abstrak. Beberapa dari abstrak class tersebut bisa saja memiliki method yang terkonsentrasi.
- Sebuah method yang akan didefinisikan sebagai abstrak harus selalu didefinisikan ulang dalam subclass, hal ini dilakukan guna menciptakan overriding compulsory atau membuat subclass itu sendiri sebagai abstrak.
- Class apapun yang mengandung lebih dari satu abstrak harus selalu dideklrasikan dengan menggunakan keyword abstrack.
- Tidak akan ada object dari class abstrak. Class abstrak tidak bisa diinisialisasi secara langsung dengan menggunakan operator new.
- Class abstrak dapat memiliki parameter constructor dan default constructor yang akan selalu tersedia pada class abstrak.
Ada suatu kondisi dimana harus mendefinisikan sebuah superclass guna mendeklarasikan struktur yang memberikan abstraksi tanpa menyediakan implementasi secara penuh dari setiap method. Terkadang programmer ingin menciptakan sebuah superclass yang hanya mendefinisikan gambaran umum yang dapat dibagikan (shared) terhadap sebuah subclass itu sendiri.
Contoh sederhana, seperti digunakan pada computer-aided design system atau game simulation.
// program Java
// mengilustrasikan konsep
// dari abstraksi.
abstract class Shape
{
String color;
/* method abstract */
abstract double area();
public abstract String toString();
// class abstract yang
// memiliki constructor.
public Shape(String color){
System.out.println("Constru"
+"ctor shape dipanggil");
this.color = color;}
/* method terpusat */
public String getColor() {
return color;}
}
class Circle extends Shape
{
double radius;
public Circle(String color,double radius){
/* memanggil constructor shape */
super(color);
System.out.println("Constru"
+"ctor circle dipanggil");
this.radius = radius;}
@Override
double area()
{return Math.PI * Math.pow(radius, 2);}
@Override
public String toString()
{return "Warna circle adalah "
+super.color
+"dan luas : "
+area();}
}
class Rectangle extends Shape
{
double length;
double width;
public Rectangle(String color,double length,double width){
// memanggil constructor shape
super(color);
System.out.println("Constru"
+"ctor rectangle dipanggil");
this.length = length;
this.width = width;}
@Override
double area()
{return length*width;}
@Override
public String toString()
{return "Warna rectangle"
+" adalah "
+super.color
+"dan luas : "
+area();}
}
public class Test
{
public static void main(String[] args)
{
Shape s1 = new Circle("Merah", 2.2);
Shape s2 = new Rectangle("Kuning", 2, 4);
System.out.println(s1.toString());
System.out.println(s2.toString());
}
}
Constructor rectangle dipanggil
Warna rectangle adalah Yellowdan luas : 8.0
Enkapsulasi vs Data Abstraksi
- Enkapsulasi adalah mekanisme menyembunyikan data atau menyembunyikan informasi , sedangkan abstraksi adalah mekanisme yang menjelaskan rincian data yang disembunyikan (implementation hiding) tersebut.
- Enkapsulasi menggabungkan data dan method serta memberikan aksi terhadap data tersebut, sedangkan data abstraksi berkaitan dengan cara menampilkan interface kepada user dan menyembunyikan rincian dari implementasinya.
- Mengurangi kompleksitas dari tampilan berbagai hal.
- Menghindari duplikasi kode dan meningkatkan reusability.
- Meningkatkan keamanan dari aplikasi atau program yang hanya menyediakan rincian penting untuk diperlihatkan kepada user.
- 6 Konsep Referensi 'this' pada Java [klik]
- 6 Contoh Program Method Overloading pada Java [klik]
- 5 Contoh Output Program Java Overriding [klik]
- 10 Aturan Utama Penggunaan Overriding pada Java [klik]
- 5 Contoh Output dari Program Overloading Java [klik]
- 5 Penjelasan Utama STATIC dan PUBLIC STATIC VOID MAIN pada Java [klik]
- 4 Aturan Penting Overloading dan Overriding method static pada Java [klik]
Apa yang dimaksud dengan proses abstraksi pada bahasa pemrograman Java?
BalasHapusAbstraksi merupakan proses menyembunyikan detail implementasi data dari akses pengguna, dimana hanya fungsionalitas yang akan diberikan atau dapat dibaca oleh pengguna tersebut. Dengan kata lain, pengguna atau user hanya akan mendapatkan informasi tetang apa yang akan dilakukan oleh object itu saja ketimbang bagaimana cara atau proses tersebut dapat dilakukan.
HapusApa tujuan dari penggunaan abstraksi pada bahasa pemrograman Java?
BalasHapusTujuan utama dari data abstraksi pada pemrograman Java adalah untuk menyembunyikan detail atau rincian data yang sifatnya tidak terlalu diperlukan untuk diketahui oleh pengguna.
HapusAbstraksi dapat memilih data dari sekumpulan yang lebih besar untuk menampilkan detail object yang relevan terhadap user. Dimana hal ini dapat membantu dalam pengurangan kompleksitas dan upaya dalam pembuatan program, dan sekaligus merupakan salah satu konsep penting pada OOP Java.
Pada bagian apa konsep abstraksi dapat diterapkan pada bahasa pemrograman Java?
BalasHapusPada Java, konsep abstraksi diterapkan pada penggunaan interface atau class abstract.
Hapus