介面與抽象類別作用:介面: 定義必須的行為,強制實作類別遵守特定規範。抽象類別: 定義通用行為,強制子類別繼承它,提供部分實現,允許子類別自訂特定行為。設計原則:介面: 保持小而專注,定義必須的行為。抽象類別: 僅聲明抽象方法,提供具體方法以實作通用行為。範例:形狀類別層次結構中,Shape 介面定義取得面積行為,AbstractShape 抽象類別提供寬度和高度字段,Rectangle 和 Circle 類別繼承抽象類別並提供特定形狀的面積計算方法。
Java 中介面與抽象類別的作用與設計原則
public interface InterfaceName { ... }
#抽象類別
public abstract class AbstractClassName { ... }
介面
抽象類別
設計原則
介面
抽象類別
實戰案例
考慮一個簡單的形狀類別層次結構:
**`
java
interface Shape {
double getArea();
}
abstract class AbstractShape implements Shape {
protected double width; protected double height; public AbstractShape(double width, double height) { this.width = width; this.height = height; } public double getWidth() { return width; } public double getHeight() { return height; }
}
class Rectangle extends AbstractShape {
public Rectangle(double width, double height) { super(width, height); } @Override public double getArea() { return width * height; }
##class Rectangle extends AbstractShape {
public Circle(double radius) { super(radius, radius); } @Override public double getArea() { return Math.PI * width * width; }
}
class Circle extends AbstractShape {
public static void main(String[] args) { Shape rectangle = new Rectangle(4, 5); Shape circle = new Circle(3); System.out.println("Rectangle area: " + rectangle.getArea()); System.out.println("Circle area: " + circle.getArea()); }
}
#public class Main {
在这个例子中: * `Shape` 接口定义了一个通用行为:获取形状面积。 * `AbstractShape` 抽象类提供了通用行为的通用实现,例如宽度和高度字段。 * `Rectangle` 和 `Circle` 类通过继承 `AbstractShape` 类来扩展形状类层次结构,并提供特定形状的具体方法来计算面积。
以上是Java 中介面和抽象類別的作用和設計原則的詳細內容。更多資訊請關注PHP中文網其他相關文章!