Java 封装与继承:面向对象的编程基础

封装

封装是指将一个对象的内部细节与其外部接口分离。通过封装,我们可以控制对对象内部状态的访问,从而提高代码的安全性、可读性和维护性。

继承

继承是一种 OOP 机制,它允许子类从其父类继承属性和方法。通过继承,子类可以重用父类的功能,并根据需要对其进行扩展或修改。

封装和继承之间的关系

封装和继承是互补的 OOP 概念。封装控制对象内部状态的访问,而继承允许子类从父类继承功能。

示例

考虑以下示例代码:

class Shape {
private double width;
private double height;

public Shape(double width, double height) {
this.width = width;
this.height = height;
}

public double calculateArea() {
return width * height;
}
}

class Rectangle extends Shape {
public Rectangle(double width, double height) {
super(width, height);
}

public double calculatePerimeter() {
return 2 * (width + height);
}
}

在这个示例中,Shape 类封装了形状的宽度和高度,并提供了一个计算面积的方法。Rectangle 类继承自 Shape 类,并扩展了它的功能,添加了一个计算周长的方法。

通过封装和继承,我们能够创建可重用且可扩展的代码,提高代码的组织性、可维护性和灵活性。