Java Academy · Pelajaran

Kelas Abstrak

Isytiharkan kelas dan kaedah abstrak, fahami sebab kelas tersebut tidak boleh dijadikan tika dan lihat cara subkelas melengkapkan reka bentuk.

Pelajaran 1 daripada 38 langkah

Kelas Abstrak ialah pelajaran Java Academy percuma di CoddyKit. Ini ialah pelajaran 1 daripada 3. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Java Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Java Academy merangkumi sejumlah 3 pelajaran.

Apakah itu kelas abstract?

Kelas abstract: mentakrifkan idea umum dan boleh membiarkan sesetengah kaedah tanpa badan. Ia juga boleh mengandungi kaedah biasa dengan kod. Fikirkan ia sebagai templat yang memerlukan subkelas mengisi bahagian yang kosong.

Kod: tidak boleh dibuat sebagai objek

Kelas abstract tidak boleh dibuat sebagai objek secara terus. Kelas ini masih boleh mengandungi kaedah biasa yang diwarisi oleh semua subkelas.

public class Main {
  // Abstract class with one abstract method and one concrete method
  static abstract class Animal {
    abstract void speak();              // must be implemented by subclasses
    void info() {                       // concrete method allowed
      System.out.println("I am an animal.");
    }
  }

  public static void main(String[] args) {
    // Animal a = new Animal(); // Uncommenting would not compile: cannot instantiate abstract class
    System.out.println("You cannot create an Animal directly if it is abstract.");
  }
}

Mengapa menggunakan kelas abstract?

Kelas ini menghimpunkan kod yang dikongsi di satu tempat dan memaksa kaedah penting disediakan oleh setiap subkelas. Gunakannya apabila sesetengah tingkah laku adalah sama, tetapi sesetengah yang lain berbeza mengikut jenis konkrit.

Kod: melaksanakan kaedah abstract

Subkelas mesti melaksanakan kaedah abstract. Kaedah konkrit daripada kelas abstract diwarisi dan boleh digunakan semula.

public class Main {
  static abstract class Animal {
    abstract void speak();
    void info() {
      System.out.println("I am an animal.");
    }
  }

  static class Dog extends Animal {
    // Must implement speak()
    void speak() {
      System.out.println("Woof!");
    }
  }

  public static void main(String[] args) {
    Dog d = new Dog();      // allowed: Dog is concrete
    d.info();               // inherited concrete method
    d.speak();              // Dog's implementation
  }
}

Peraturan dan gabungan

Peraturan: kelas abstract boleh mempunyai medan, pembina dan kaedah konkrit. Subkelas menjadi konkrit hanya selepas melaksanakan semua kaedah abstract; jika tidak, subkelas itu juga abstract.

Kod: abstract dan polimorfisme

Kelas abstract berfungsi dengan baik bersama polimorfisme. Kod boleh menggunakan jenis abstract, dan setiap subkelas menyediakan tingkah laku yang betul.

public class Main {
  static abstract class Animal {
    abstract void speak();
  }

  static class Dog extends Animal {
    void speak() { System.out.println("Woof!"); }
  }

  static class Cat extends Animal {
    void speak() { System.out.println("Meow!"); }
  }

  public static void main(String[] args) {
    // Polymorphism through abstract base type
    Animal[] pets = { new Dog(), new Cat() };
    for (int i = 0; i < pets.length; i = i + 1) {
      pets[i].speak(); // each subclass provides its own behavior
    }
  }
}

Semakan kelas abstract

Semakan pantas: Pernyataan manakah tentang kelas abstract yang betul?

Rumusan

Rumusan: Gunakan kelas abstract untuk berkongsi kod dan mewajibkan kaedah penting. Kelas ini tidak boleh dibuat sebagai objek secara terus, tetapi subkelas melengkapkan tingkah lakunya.

Percuma untuk bermula

Pelajari Java dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
104
Pelajaran
374

Soalan Lazim

Adakah pelajaran “Kelas Abstrak” percuma?

Ya — teks penuh “Kelas Abstrak” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Java Academy, tingkat taraf kepada CoddyKit PRO. Kursus Java Academy merangkumi sejumlah 3 pelajaran.

Apakah yang akan saya pelajari dalam “Kelas Abstrak”?

Isytiharkan kelas dan kaedah abstrak, fahami sebab kelas tersebut tidak boleh dijadikan tika dan lihat cara subkelas melengkapkan reka bentuk. Anda berlatih Java Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Java Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Java Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 1 daripada 3.

Berapa lamakah pelajaran “Kelas Abstrak” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Java Academy ini?

Ya. Setiap pelajaran Java Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Kelas Abstrak
  2. Antara Muka (Pengenalan dan Perbandingan)
  3. Penaipan Naik/Turun dan instanceof
← Kembali ke Java Academy