Penggunaan fungsi ABSTRAC di PHP

Ini disebut abstraksi. Kata “Kendaraan” sendiri masih abstrak. Tapi kita bisa membayangkan seperti apa konsep kendaraannya

Jika saya katakan

"Mobil bergerak"

Anda harus tahu apa yang saya maksud

Mobil adalah hal yang konkrit atau nyata, sedangkan kendaraan masih bersifat abstrak

Prinsip abstraksi ini juga ada di OOP dan kami benar-benar menggunakannya

Tapi tidak menyadarinya. jika itu adalah abstraksi

Nah di Java sendiri ada yang namanya abstract class untuk membuat abstraksi

Apa itu kelas abstrak?

dan bagaimana cara menggunakannya?

Mari berdiskusi…

Apa itu Kelas Abstrak?

Kelas abstrak adalah kelas yang masih dalam bentuk abstrak. Karena wujudnya masih abstrak, ia tidak bisa langsung dibuat menjadi objek

Sebuah kelas agar bisa disebut kelas abstrak memiliki setidaknya satu atau lebih metode abstrak

Metode abstrak adalah metode yang tidak memiliki implementasi atau bentuk konkret

Bingung?

Sudahlah

Metode abstrak adalah metode yang tidak memiliki konten

Hanya ada nama

// ini abstrak method void sayHello(); // ini bukan abstrak method karena // punya implementasi di body method void greeting(){ System.out.println("Hello Java"); }

dan kelas yang menggunakan metode ini secara otomatis akan menjadi kelas abstrak

Mengapa Anda Harus Menggunakan Kelas Abstrak?

Kita tahu bahwa kelas abstrak tidak dapat digunakan secara langsung

Oleh karena itu, agar kelas abstrak dapat digunakan, harus dibuat konkret

Cara membuat kelas abstrak menjadi konkret adalah dengan mengimplementasikan metode yang masih abstrak

Kita bisa melakukan ini dengan warisan.

Kelas abstrak biasanya digunakan sebagai kelas induk dari kelas lain. Kelas anak akan membuat versi konkret dari kelas abstrak

Lalu pertanyaannya

Mengapa kelas harus dibuat abstrak?

Kita hanya bisa menggunakan kelas normal

Iya itu mungkin

Namun dalam kondisi tertentu, kelas induk tidak ingin kita membuatnya sebagai objek. karena kode metode belum jelas bagaimana implementasinya

Jadi kelas ini harus dibuat abstrak

Untuk lebih memahami, coba perhatikan contoh berikut

class Database { String getTableName(){ return null; } } class MySQLDatabase extends Database { @override String getTableName(){ return this.sql("SELECT table_name FROM database.tabel") } }_

Kedua kelas tersebut merupakan kelas reguler. Sekarang mari kita coba membuat objek dengan kelas Database

Database db = new Database();

Ini akan valid, tetapi sebenarnya objek ________34______ tidak dapat digunakan

Saat kita memanggil metode class Database { String getTableName(){ return null; } } class MySQLDatabase extends Database { @override String getTableName(){ return this.sql("SELECT table_name FROM database.tabel") } }0 kelas Database akan bingung

Mengapa?

Karena belum jelas bagaimana caranya untuk mendapatkan nama tabel di database tersebut

Dan database apa yang akan digunakan?

Oleh karena itu, kelas Database harus dibuat abstrak sehingga tidak dapat digunakan untuk membuat objek

Oke. lalu bagaimana cara membuat class abstract?

Cara Membuat Kelas Abstrak di Java

Cara membuat kelas abstrak adalah dengan memberikan kata kunci class Database { String getTableName(){ return null; } } class MySQLDatabase extends Database { @override String getTableName(){ return this.sql("SELECT table_name FROM database.tabel") } }3 ke kelas dan metode yang ingin dibuat abstrak

Contoh

abstract class Database { abstract String getDatabaseName(); abstract String getTableName(); }

Mudah kan?

Sekarang mari kita coba contoh di program

Contoh Program Kelas Abstrak

Nah, kita akan mencoba latihan dengan contoh yang sudah kita lakukan, yaitu berdiri tegak

Coba perhatikan class diagram berikut ini

Kelas class Database { String getTableName(){ return null; } } class MySQLDatabase extends Database { @override String getTableName(){ return this.sql("SELECT table_name FROM database.tabel") } }_4 adalah kelas abstrak, karena memiliki metode abstrak class Database { String getTableName(){ return null; } } class MySQLDatabase extends Database { @override String getTableName(){ return this.sql("SELECT table_name FROM database.tabel") } }5 (menghitung luas)

Jika kita membuat objek dengan kelas class Database { String getTableName(){ return null; } } class MySQLDatabase extends Database { @override String getTableName(){ return this.sql("SELECT table_name FROM database.tabel") } }_4 dan memanggil metode class Database { String getTableName(){ return null; } } class MySQLDatabase extends Database { @override String getTableName(){ return this.sql("SELECT table_name FROM database.tabel") } }5, maka kelas class Database { String getTableName(){ return null; } } class MySQLDatabase extends Database { @override String getTableName(){ return this.sql("SELECT table_name FROM database.tabel") } }4 akan bingung

Apa bentuk atau bentuk datar yang ingin Anda hitung luasnya?

Apa rumusnya?

Oleh karena itu, kami membuat kelas ini abstrak. Pertanyaannya tidak jelas bagaimana cara menghitung luasnya

Dan kita juga semua tahu bahwa jika bentuk atau bentuknya datar, pasti ada luasnya. Tetapi metode perhitungannya berbeda

Nah sekarang mari kita coba di kode programnya

Buat proyek baru di Netbeans dengan nama class Database { String getTableName(){ return null; } } class MySQLDatabase extends Database { @override String getTableName(){ return this.sql("SELECT table_name FROM database.tabel") } }9

Setelah itu, pada Database db = new Database();_0 buat class baru bernama class Database { String getTableName(){ return null; } } class MySQLDatabase extends Database { @override String getTableName(){ return this.sql("SELECT table_name FROM database.tabel") } }4 dan isikan kodenya seperti berikut

public abstract class Shape { String color; void setColor(String color){ this.color = color; } String getColor(){ return this.color; } abstract float getArea(); }

Selanjutnya, buat kelas Database db = new Database();_2. Kelas ini merupakan turunan dari kelas class Database { String getTableName(){ return null; } } class MySQLDatabase extends Database { @override String getTableName(){ return this.sql("SELECT table_name FROM database.tabel") } }_4

Berikut adalah kode kelas Database db = new Database();2

public class Triangle extends Shape { private float base; private float height; public Triangle(int base, int height) { this.base = base; this.height = height; } @Override float getArea() { return 0.5f * base * height; } }

Setelah itu, buat turunan lain dari kelas class Database { String getTableName(){ return null; } } class MySQLDatabase extends Database { @override String getTableName(){ return this.sql("SELECT table_name FROM database.tabel") } }4, yaitu Database db = new Database();6

Ini kode untuk kelas Database db = new Database();_6

public class Circle extends Shape { private float radius; public Circle(float radius) { this.radius = radius; } @Override float getArea() { return (float) (Math.PI * radius * radius); } }

Terakhir, buat class Database db = new Database();8 untuk mencoba membuat objek dengan class yang sudah dibuat

public class Main { public static void main(String[] args) { // membuat objek dari class Triangle Shape segitiga = new Triangle(4, 5); // membuat objek dari class Circle Shape lingkaran = new Circle(10); System.out.println("Luas Segitiga: " + segitiga.getArea()); System.out.println("Luas Lingkaran: " + lingkaran.getArea()); } }

Coba perhatikan objek Database db = new Database();_9 dan abstract class Database { abstract String getDatabaseName(); abstract String getTableName(); }0. Kedua objek ini memiliki tipe yang sama yaitu class Database { String getTableName(){ return null; } } class MySQLDatabase extends Database { @override String getTableName(){ return this.sql("SELECT table_name FROM database.tabel") } }4, namun dibuat dari class yang berbeda

Nah, sekarang coba jalankan programnya. Jadi hasilnya

Apa perbedaan antara Kelas Abstrak dan Antarmuka?

Kelas abstrak dan antarmuka keduanya digunakan untuk membuat abstraksi

Keduanya memiliki karakteristik yang hampir sama. Tapi ada perbedaan

Apa itu?

  1. di kelas abstrak kita bisa membaut properti atau variabel sementara di antarmuka kita hanya bisa membuat konstanta
  2. di kelas abstrak kita bisa mengimplementasikan kode metode seperti kelas normal, sedangkan di antarmuka kita harus menggunakan abstract class Database { abstract String getDatabaseName(); abstract String getTableName(); }2
  3. di kelas abstrak dapat memiliki anggota abstract class Database { abstract String getDatabaseName(); abstract String getTableName(); }_3 dan abstract class Database { abstract String getDatabaseName(); abstract String getTableName(); }4 sedangkan antarmuka harus publik
  4. Kelas abstrak diimplementasikan dengan pewarisan (abstract class Database { abstract String getDatabaseName(); abstract String getTableName(); }5) sedangkan antarmuka menggunakan abstract class Database { abstract String getDatabaseName(); abstract String getTableName(); }6

Apa berikutnya?

Intinya, kelas abstrak adalah kelas yang bentuknya masih abstrak dan kita harus membuat bentuk yang konkret agar bisa digunakan.

Apa itu fungsi abstrak?

Abstrak memiliki fungsi sebagai salah satu komponen yang harus ada di awal laporan penelitian . Tanpa adanya abstrak, tentunya sebuah laporan penelitian menjadi tidak lengkap sehingga lebih sulit dipelajari dan dipahami pembaca.

Apa yang dimaksud dengan metode abstrak?

Metode abstrak adalah metode yang tidak memiliki badan (hanya deklarasi metode) yang memiliki badan (hanya deklarasi metode) . Kelas abstrak tidak bisa dijadikan objek. Objek hanya dapat dibuat dari kelas non-abstrak (kelas beton).

Kapan Dalam kondisi apa kelas abstrak dibuat?

Class abstrak dibuat karena dalam kondisi tertentu class induk tidak mau dijadikan objek, kode method tidak jelas implementasinya seperti apa.

Jelaskan apa yang dimaksud dengan kelas abstrak?

Konsep kelas abstrak. Kelas abstrak atau kelas abstrak adalah kelas yang terletak pada posisi tertinggi dalam hirarki kelas . Kelas ini tidak dapat diinstansiasi karena masih abstrak. Kelas ini hanya berisi variabel umum dan deklarasi metode tanpa penggunaan detail (metode abstrak).

Postingan terbaru

LIHAT SEMUA