Java实体继承另一个实体
导言
在面向对象编程中,继承是一个重要的概念。它允许一个实体(子类)从另一个实体(父类)继承属性和方法。在Java中,实体之间的继承关系是通过使用关键字 extends
来实现的。本文将介绍Java中实体继承另一个实体的概念,并提供相关的代码示例。
实体继承的概念
实体继承是面向对象编程中的一个重要特性。它允许一个实体(子类)从另一个实体(父类)继承属性和方法。子类可以继承父类的所有公共和受保护的成员变量和方法,同时还可以添加自己的成员变量和方法。
通过继承,可以实现代码的重用和扩展。子类可以通过继承父类的属性和方法来减少代码的重复,并且可以通过添加新的属性和方法来扩展父类的功能。
实体继承的语法
在Java中,实体继承是通过使用关键字 extends
来实现的。下面是实体继承的语法示例:
public class SubClass extends SuperClass {
// 子类的成员变量和方法
}
在上面的代码示例中,SubClass
是子类,SuperClass
是父类。子类通过 extends
关键字继承父类的属性和方法。
实体继承的示例
为了更好地理解实体继承的概念,下面将通过一个示例来演示。
假设我们要建立一个图形的层次结构,其中包括一个基本图形类 Shape
和两个子类 Circle
和 Rectangle
。Shape
类包含了图形的共有属性和方法,Circle
类和 Rectangle
类继承了 Shape
类,并且添加了自己的属性和方法。
首先,我们定义基本图形类 Shape
:
public class Shape {
protected String color;
public Shape(String color) {
this.color = color;
}
public void draw() {
System.out.println("Drawing a shape with color: " + color);
}
}
在上面的代码中,Shape
类有一个受保护的成员变量 color
和一个 draw
方法。
接下来,我们定义 Circle
类和 Rectangle
类:
public class Circle extends Shape {
private double radius;
public Circle(String color, double radius) {
super(color);
this.radius = radius;
}
public double getArea() {
return Math.PI * radius * radius;
}
}
public class Rectangle extends Shape {
private double width;
private double height;
public Rectangle(String color, double width, double height) {
super(color);
this.width = width;
this.height = height;
}
public double getArea() {
return width * height;
}
}
在上面的代码中,Circle
类和 Rectangle
类都通过 extends
关键字继承了 Shape
类。它们分别添加了自己的属性和方法 getArea
,用于计算图形的面积。
现在,我们可以使用这些类来创建对象并调用它们的方法:
public class Main {
public static void main(String[] args) {
Circle circle = new Circle("red", 5.0);
circle.draw();
System.out.println("Area of circle: " + circle.getArea());
Rectangle rectangle = new Rectangle("blue", 3.0, 4.0);
rectangle.draw();
System.out.println("Area of rectangle: " + rectangle.getArea());
}
}
上面的代码中,我们创建了一个 Circle
对象和一个 Rectangle
对象,并分别调用了它们的 draw
方法和 getArea
方法。
甘特图
下面是一个使用甘特图表示实体继承的示例:
gantt
dateFormat YYYY-MM-DD
title 实体继承甘特图
section 基本图形类
Shape类定义 : 2022-01-01, 7