A pesar de ser figuras diferentes, comparten algunas cosas en común, como tener área, tener perímetro, etc.
Si este concepto lo aplicamos en la programación orientada a objetos, en la que FiguraGeometrica fuera una clase; las clases: Círculo, Cuadrado, Triangulo, Octágono, serían subclases de la superclase FiguraGeometrica.
Pensemos en otro ejemplo.
La superclase Fruta puede tener
La superclase Fruta debe ser más abstracta (generalizada).
Las subclases Manzana, Mango, Pera y Uva deben ser más específicas.Si intentamos definir la clase Fruta muy rápidamente quedaría de la siguiente forma:
public class Fruta{
private String color;
private double peso;
[...]
}
Si al describirnos una fruta, intentaran darnos solo el color y el peso, tal vez tendríamos alguna idea de qué fruta se trata, pero no estaríamos seguros, ahora veamos cómo sería la definición de la subclase Manzana:
public class Manzana extends Fruta{
private String tipo;
private double precio;
private String temporada;
[...]
}
Este fue un ejemplo muy sencillo, ahora te corresponde a ti intentar definir la superclase y las subclases de otros ejemplos como Vehículos, Animales, etc.