Bila menggunakan antara muka: Tentukan fungsi kongsi, dilaksanakan oleh pelbagai jenis objek. Tentukan antara muka panggil balik (seperti pendengar acara). Laksanakan pelbagai warisan. Bila hendak menggunakan kelas abstrak: Tentukan fungsi biasa yang dilaksanakan melalui pewarisan. Laksanakan pewarisan tunggal dan polimorfisme. Tentukan kaedah atau medan yang dilindungi.
Bila menggunakan antara muka dan kelas abstrak dalam Java
Dalam Java, antara muka dan kelas abstrak ialah konsep abstrak yang digunakan untuk mentakrifkan kelakuan objek. Walaupun persamaan mereka, terdapat perbezaan yang jelas dalam tujuan penggunaannya.
Antaramuka
Antara muka ialah kontrak yang mengandungi tandatangan kaedah (iaitu pengisytiharan kaedah tanpa pelaksanaan). Ia mentakrifkan set kaedah awam yang mesti dilaksanakan oleh kelas.
Bila hendak menggunakan antara muka?
public interface Animal { void eat(); void sleep(); }
Kelas Abstrak
Kelas abstrak ialah kelas separa abstrak yang mengandungi gabungan pelaksanaan kaedah dan kaedah abstrak. Kelas abstrak tidak boleh dijadikan instantiate, tetapi boleh diwarisi oleh subkelas.
Bila hendak menggunakan kelas abstrak?
public abstract class Mammal { public void giveBirth() { ... } public abstract void makeSound(); }e
practical case
Interface
Create Antara muka bentuk dan tentukan kaedah awam untuk mengira kawasan dan perimeter:
public interface Shape { double getArea(); double getPerimeter(); }e
Gunakan antara muka ini untuk membuat kelas segi empat tepat dan bulatan:
public class Rectangle implements Shape { // ... } public class Circle implements Shape { // ... }ebstract Class
Buat kelas abstrak Bentuk dan tentukan kaedah yang dilindungi untuk mengira luas dan perimeter:
public abstract class Shape { protected double area; protected double perimeter; public abstract double getArea(); public abstract double getPerimeter(); }
Buat kelas Segiempat dan Bulatan menggunakan kelas abstrak ini, mengatasi kaedah getArea() dan getPerimeter():
public class Rectangle extends Shape { // ... } public class Circle extends Shape { // ... }
Atas ialah kandungan terperinci Bila hendak menggunakan antara muka dan bila hendak menggunakan kelas abstrak dalam Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!