Kelas Beton di Jawa

1. Perkenalan

Dalam panduan singkat ini, kita akan membahas istilah "kelas beton" di Jawa .

Pertama, kami akan mendefinisikan istilah tersebut. Kemudian, kita akan melihat perbedaannya dari antarmuka dan kelas abstrak.

2. Apa Itu Kelas Beton?

Kelas konkret adalah kelas di mana kita dapat membuat turunannya, menggunakan kata kunci baru .

Dengan kata lain, ini adalah implementasi penuh dari cetak birunya . Kelas beton selesai.

Bayangkan, misalnya, kelas Mobil :

public class Car { public String honk() { return "beep!"; } public String drive() { return "vroom"; } }

Karena semua metodenya diimplementasikan, kami menyebutnya kelas konkret, dan kami dapat membuat instance:

Car car = new Car();

Beberapa contoh kelas konkret dari JDK adalah HashMap , HashSet , ArrayList , dan LinkedList .

3. Kelas Abstraksi vs Beton Java

Namun, tidak semua tipe Java mengimplementasikan semua metodenya. Fleksibilitas ini, juga disebut abstraksi , memungkinkan kita untuk berpikir secara lebih umum tentang domain yang kita coba modelkan.

Di Java, kita dapat mencapai abstraksi menggunakan antarmuka dan kelas abstrak.

Mari kita lihat kelas beton dengan lebih baik dengan membandingkannya dengan yang lain.

3.1. Antarmuka

Antarmuka adalah cetak biru untuk kelas . Atau, dengan kata lain, kumpulan dari tanda tangan metode yang tidak diimplementasikan:

interface Driveable { void honk(); void drive(); }

Perhatikan bahwa ini menggunakan kata kunci antarmuka, bukan kelas.

Karena Driveable memiliki metode yang tidak diterapkan, kami tidak dapat membuat instance dengan kata kunci baru .

Tapi, kelas beton seperti Car dapat menerapkan metode ini.

JDK menyediakan sejumlah antarmuka seperti Map , List , dan Set .

3.2. Kelas Abstrak

Kelas abstrak adalah kelas yang memiliki metode yang tidak diimplementasikan, meskipun sebenarnya bisa memiliki keduanya:

public abstract class Vehicle { public abstract String honk(); public String drive() { return "zoom"; } }

Perhatikan bahwa kami menandai kelas abstrak dengan kata kunci abstrak .

Sekali lagi, karena Vehicle memiliki metode yang tidak diterapkan, klakson , kami tidak akan dapat menggunakan kata kunci baru .

Beberapa contoh kelas abstrak dari JDK adalah AbstractMap dan AbstractList .

3.3. Kelas Beton

Sebaliknya, kelas beton tidak memiliki metode yang tidak diimplementasikan. Apakah implementasi diwariskan atau tidak, selama setiap metode memiliki implementasi, kelasnya konkret.

Kelas Beton bisa sesederhana contoh Mobil kita tadi. Mereka juga dapat mengimplementasikan antarmuka dan memperluas kelas abstrak:

public class FancyCar extends Vehicle implements Driveable { public String honk() { return "beep"; } }

Kelas FancyCar menyediakan penerapan untuk membunyikan klakson dan mewarisi penerapan mengemudi dari Kendaraan.

Dengan demikian, tidak ada metode yang tidak diimplementasikan . Oleh karena itu, kita dapat membuat instance kelas FancyCar dengan kata kunci baru .

FancyCar car = new FancyCar();

Atau, sederhananya, semua kelas yang tidak abstrak, kita bisa menyebutnya kelas konkret.

4. Ringkasan

Dalam tutorial singkat ini, kita belajar tentang kelas beton dan spesifikasinya.

Selain itu, kami menunjukkan perbedaan antara antarmuka dan kelas beton dan abstrak.