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

Penggunaan fungsi ABSTRAC di PHP

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

Penggunaan fungsi ABSTRAC di PHP

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

Penggunaan fungsi ABSTRAC di PHP

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

Penggunaan fungsi ABSTRAC di PHP

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).