Tutoriales de Java

Java INICIO Introducción a Java Introducción a Java Sintaxis Java Comentarios Java Variables Java Tipos de datos Java Conversión de tipos de Java Operadores Java Cadenas Java Matemáticas Java Booleanos de Java Java si... si no Conmutador de Java Ciclo while de Java Java para bucle Java Pausa/Continuar Matrices de Java

Métodos de Java

Métodos de Java Parámetros del método Java Sobrecarga del método Java Alcance de Java Recursión de Java

Clases Java

programación orientada a objetos de Java Clases/Objetos Java Atributos de clase de Java Métodos de clase Java Constructores Java Modificadores de Java Encapsulación de Java Paquetes Java/API Herencia de Java Polimorfismo de Java Clases internas de Java Abstracción de Java Interfaz Java Enumeraciones de Java Entrada de usuario de Java Fecha Java Java ArrayList Java LinkedList Mapa hash de Java HashSet de Java Iterador de Java Clases contenedoras de Java Excepciones de Java Java expresión regular Subprocesos de Java Java lambda

Manejo de archivos Java

Archivos Java Java crear/escribir archivos Archivos de lectura de Java Eliminar archivos de Java

Java Cómo

Añadir dos números

Referencia Java

Palabras clave de Java Métodos de cadena de Java Métodos matemáticos de Java

Ejemplos de Java

Ejemplos de Java Compilador Java Ejercicios Java Cuestionario Java Certificado Java


Abstracción de Java


Clases abstractas y métodos

La abstracción de datos es el proceso de ocultar ciertos detalles y mostrar solo la información esencial al usuario.
La abstracción se puede lograr con clases abstractas o interfaces (sobre las que aprenderá más en el próximo capítulo).

La abstractpalabra clave es un modificador de no acceso, utilizado para clases y métodos:

  • Clase abstracta: es una clase restringida que no se puede usar para crear objetos (para acceder a ella, se debe heredar de otra clase).

  • Método abstracto: solo se puede usar en una clase abstracta y no tiene cuerpo. El cuerpo lo proporciona la subclase (heredada de).

Una clase abstracta puede tener métodos abstractos y regulares:

abstract class Animal {
  public abstract void animalSound();
  public void sleep() {
    System.out.println("Zzz");
  }
}

Del ejemplo anterior, no es posible crear un objeto de la clase Animal:

Animal myObj = new Animal(); // will generate an error

Para acceder a la clase abstracta, se debe heredar de otra clase. Convirtamos la clase Animal que usamos en el capítulo Polimorfismo en una clase abstracta:

Recuerde del capítulo Herencia que usamos la extendspalabra clave para heredar de una clase.

Ejemplo

// Abstract class
abstract class Animal {
  // Abstract method (does not have a body)
  public abstract void animalSound();
  // Regular method
  public void sleep() {
    System.out.println("Zzz");
  }
}

// Subclass (inherit from Animal)
class Pig extends Animal {
  public void animalSound() {
    // The body of animalSound() is provided here
    System.out.println("The pig says: wee wee");
  }
}

class Main {
  public static void main(String[] args) {
    Pig myPig = new Pig(); // Create a Pig object
    myPig.animalSound();
    myPig.sleep();
  }
}

¿Por qué y cuándo usar clases y métodos abstractos?

Para lograr la seguridad, oculte ciertos detalles y solo muestre los detalles importantes de un objeto.

Nota: La abstracción también se puede lograr con Interfaces , sobre las que aprenderá más en el próximo capítulo.