接口和抽象类作用:接口: 定义必须的行为,强制实现类遵守特定规范。抽象类: 定义通用行为,强制子类继承它,提供部分实现,允许子类定制特定行为。设计原则:接口: 保持小而专注,定义必须的行为。抽象类: 仅声明抽象方法,提供具体方法以实现通用行为。示例:形状类层次结构中,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 Circle extends AbstractShape {
public Circle(double radius) { super(radius, radius); } @Override public double getArea() { return Math.PI * width * width; }
}
public class Main {
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()); }
}
在这个例子中: * `Shape` 接口定义了一个通用行为:获取形状面积。 * `AbstractShape` 抽象类提供了通用行为的通用实现,例如宽度和高度字段。 * `Rectangle` 和 `Circle` 类通过继承 `AbstractShape` 类来扩展形状类层次结构,并提供特定形状的具体方法来计算面积。
以上是Java 中接口和抽象类的作用和设计原则的详细内容。更多信息请关注PHP中文网其他相关文章!