Polimorfismo de Java y la influencia del constructor de la clase padre en el constructor de la subclase.

Polimorfismo Java detallado

Instancia polimórfica

El polimorfismo es la capacidad del mismo comportamiento de tener múltiples manifestaciones o formas diferentes.

El polimorfismo es la misma interfaz, que utiliza diferentes instancias para realizar diferentes operaciones.

Objects. Objetos de transición superior:

La transformación ascendente se refiere a la acción de convertir una referencia de clase primaria en una referencia de subclase

public class FOREVER_GWC_FIRST 
{
	
	public void FOREVER_GWC()
    {
		System.out.println("FOREVER_GWC_FIRST");      
	}

}
public class FOREVER_GWC_SECOND extends FOREVER_GWC_FIRST
{
	
	public void FOREVER_GWC()
    {
		System.out.println("FOREVER_GWC_SECOND");      
	}
	
}
public class FOREVER_GWC_THIRD 
{
	
	public static void main(String[] args) 
	{
		
		FOREVER_GWC_SECOND second = new FOREVER_GWC_SECOND();
		
		second.FOREVER_GWC();
		
		FOREVER_GWC_FIRST first = second;
		
		first.FOREVER_GWC();
	}
	
}

Resultado de salida:

FOREVER_GWC_SECOND
FOREVER_GWC_SECOND

Under. Bajo objetos de transformación

La transformación hacia abajo consiste en convertir el objeto al que hace referencia la clase padre al tipo de la subclase. La transformación hacia abajo debe llevarse a cabo sobre la base de la transformación hacia arriba.

public class FOREVER_GWC_THIRD 
{
	
	public static void main(String[] args) 
	{
		
		FOREVER_GWC_FIRST first = new FOREVER_GWC_SECOND();//向上转型

		FOREVER_GWC_SECOND second =(FOREVER_GWC_SECOND)first;//向下转型
	}
	
}

Ventajas del polimorfismo.

  1. Eliminar el acoplamiento entre tipos
  2. Reemplazabilidad
  3. Escalabilidad
  4. Interfaz
  5. Flexibilidad
  6. Simplificación

Las condiciones necesarias para la existencia del polimorfismo.

  • Herencia
  • Reescribir
  • Puntos de referencia de la clase primaria al objeto de clase secundaria

Detallar la influencia del método de construcción de clase padre en el método de construcción de subclase

La estructura del método de construcción sin parámetros es la siguiente:

	public FOREVER_GWC()
	{
//		super();
	}	

When. Cuando la clase padre no tiene un método de construcción sin parámetros:

  • Las subclases no pueden tener constructores sin parámetros.
  • El constructor de la clase padre debe llamarse explícitamente en forma de super (parámetro) en el constructor de la subclase.

When. Cuando la clase padre no tiene método de construcción de parámetros:

  • Las subclases pueden tener constructores sin argumentos.

  • Las subclases también pueden tener métodos de construcción parametrizados.

public class FOREVER_GWC_FIRST 
{
	
	public FOREVER_GWC_FIRST(String name)
    {   
	}

}
public class FOREVER_GWC_SECOND extends FOREVER_GWC_FIRST
{

	public FOREVER_GWC_SECOND()
	{
		this("GWC");
		System.out.println("子类构造方法");
	}
	
	public FOREVER_GWC_SECOND(String name)
    {
		super(name);     
	}
	
}
public class FOREVER_GWC_THIRD 
{
	
	public static void main(String[] args) 
	{
		new FOREVER_GWC_SECOND();
	}

}

Resumen:

  • Cuando la clase primaria no tiene un constructor sin parámetros, la clase secundaria no puede tener un constructor sin parámetros, debe llamar explícitamente al constructor de la superclase con super.
  • Cuando la clase primaria no tiene un constructor sin parámetros y hay múltiples constructores parametrizados, la clase secundaria solo puede llamar explícitamente a un constructor de la clase primaria.
  • Las subclases también pueden construir múltiples métodos de construcción, siempre que cada método de construcción llame explícitamente al método de construcción de la clase principal, y no hay ningún requisito para qué método de construcción llamar a la clase principal.
  • Cuando la clase padre tiene un método de construcción sin parámetros, la subclase puede tener un método de construcción sin parámetros o un método de construcción con parámetros.
  • Puede usar super para llamar explícitamente al constructor de la clase principal, o puede llamarlo sin super.
Publicado 19 artículos originales · elogiado 0 · visitas 1616

Supongo que te gusta

Origin blog.csdn.net/FOREVER_GWC/article/details/104789701
Recomendado
Clasificación