Método abstracto en Java: ejemplo de clase de forma

¿Qué es la abstracción en Java?

Abstracción en JAVA muestra sólo los atributos esenciales y oculta detalles innecesarios.tails del objeto por parte del usuario. En Java, la abstracción se logra utilizando clases abstractas, métodos abstractos e interfaces. La abstracción ayuda a reducir la programación complexidad y esfuerzo.

En este tutorial, aprenderá-

¿Qué es la clase abstracta?

CLASE ABSTRACTA es un tipo de clase en Java, que declara uno o más métodos abstractos. Estas clases pueden tener métodos abstractos así como métodos concretos. Una clase normal no puede tener métodos abstractos. Una clase abstracta es una clase que contiene al menos un método abstracto. Podemos entender el concepto por el ejemplo de forma en java.

Considere lo siguientewing Jerarquía de clases que consta de una clase Forma que es heredada por tres clases Rectángulo, Círculo y Triángulo. La clase Forma se crea para ahorrar atributos y métodos comunes compartidos por las tres clases Rectángulo, Círculo y Triángulo. calculArea() es uno de esos métodos compartido por las tres clases secundarias y presente en la clase Shape.

Clase abstracta en Java
Ejemplo de abstracción de forma

Ahora, suponga que escribe código para crear objetos para las clases descritas anteriormente. Observemos cómo estos Los objetos se verán en un mundo práctico.

Un objeto de la clase rectángulo dará un rectángulo, una forma que observamos tan comúnmente en la vida cotidiana.

Clase abstracta

Un objeto de la clase triángulo dará un triángulo, nuevamente una forma común y cotidiana.

Clase abstracta

Pero, ¿cómo se vería un objeto de Class Shape en un mundo práctico?

Clase abstracta

Si observas que la clase Shape sirve en nuestro objetivo de lograr herencia y polimorfismo. Pero no fue creado para ser instanciado. Estas clases pueden etiquetarse Resumen. No se puede crear una instancia de una clase java abstracta.

Sintaxis:

abstract class Shape{
	// code
}

Es posible que NO etiquete la clase Shape como Abstract y luego cree una instancia de ella. Pero dicho objeto no tendrá utilidad en su código y abrirá un espacio para posibles errores. Por tanto, esto no es deseable.

¿Qué son los métodos abstractos en Java?

MÉTODO ABSTRACTO in Java, es un método que solo tiene la definición del método pero no contiene implementación. Un método sin cuerpo se conoce como Método Abstracto. Debe declararse en una clase abstracta. El método abstracto nunca será definitivo porque la clase abstracta debe implementar todos los métodos abstractos.

Como todos sabemos, la fórmula para calcular el área de un rectángulo, un círculo y un triángulo es diferente. El método calcularArea() deberá ser anulado por las clases heredadas. No tiene sentido definirlo en la clase Shape, pero debemos asegurarnos de que todas las clases herederas tengan el método.

Estos métodos pueden denominarse abstracto.

Sintaxis:

abstract public void calculateArea();

Para una Método abstracto, no se requiere implementación. Sólo se define la firma del método.

Ejemplo de código de abstracción

abstract class Shape{  
  abstract void calculateArea();  
}  
 class guru99 extends Shape{  
void calculateArea(){System.out.println("Area of Shape");}  
public static void main(String args[]){  
 Shape obj = new guru99();  
 obj.calculateArea();
}  
}

Clase abstracta en Java: puntos importantes

  • Una clase abstracta podrían También tenemos métodos concretos (completos).
  • Para fines de diseño, una clase puede declararse abstracta incluso si no contiene ningún método abstracto.
  • La referencia de una clase abstracta puede apuntar a objetos de sus subclases, logrando así el tiempo de ejecución. polimorfismo Ej: Forma obj = nuevo Rectángulo();
  • Una clase debe etiquetarse obligatoriamente como abstracta, si tiene uno o más métodos abstractos.

Palabra clave final en Java

El modificador final se aplica a clases, métodos y variables. El significado de final varía de un contexto a otro, pero la idea esencial es la misma.

  • No se puede heredar una clase final
  • Una variable final se convierte en una constante y su valor no se puede cambiar.
  • No se puede anular un método final. Esto se hace por razones de seguridad y estos métodos se utilizan para la optimización.

Ejemplo : - Para aprender palabras clave abstractas y finales

Paso 1) copia el siguientewing código en un editor.

abstract class Shape{
   final int b = 20;
   public void display(){
     System.out.println("This is display method");
   }
   abstract public void calculateArea();
}

public class Rectangle extends Shape{
   public static void main(String args[]){
      Rectangle obj = new Rectangle();
      obj.display();
     //obj.b=200;
  }
  //public void calculateArea(){}
}

Paso 2) Guarde, compile y ejecute el código.

Paso 3) Error=? El método abstracto no está implementado en la clase Rectángulo. Para solucionar el problema, descomente la línea n.° 15.

Paso 4) Descomente la línea n.º 13. Guarde y compile el código.

Paso 5) Error=? la variable b es final

Reglas del método abstracto

  • Los métodos abstractos no tienen implementación; solo tiene firma de método
  • Si una clase utiliza un método abstracto, debe declararse abstracta. Lo contrario no puede ser cierto. Esto significa que una clase abstracta no necesariamente tiene un método abstracto.
  • Si una clase regular extiende una clase abstracta, entonces esa clase debe implementar todos los métodos abstractos del padre abstracto.