Post

Abstracción

Clases y métodos abstractos

La abstracción de datos es el proceso de ocultar ciertos detalles y mostrar solo información esencial al usuario. La abstracción se puede lograr con clases abstractas o interfaces de usuario (más adelante las trataremos).

La palabra clave abstract es un modificador sin acceso, utilizado para clases y métodos:

  • Clase abstracta Es una clase restringida que no se puede utilizar para crear objetos.
  • Clase abstracto Solo se puede utilizar en una clase abstracta y no tiene cuerpo. El cuerpo lo proporciona la subclase heradada de él.

Una clase abstracta puede tener métodos tanto abstractos como regulares:

1
2
3
4
5
6
abstract class animal{
  public abstract void sonidoAnimal();
  public void dormir(){
    System.out.println("Zzz");
  }
}

Segun el ejemplo anterior, no es posible crear un objeto de la clase animal.

1
animal miObjeto = new animal(); // Error

Para acceder a la clase abstracta, tendremos que heredar de otra clase. En el siguiente ejemplo convertiremos la clase animal del post anterior en una clase abstracta.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Clase abstracta
abstract class animal{
  // El método abstracto no tiene cuerpo
  public abstract void sonidoAnimal();
  // Método regular
  public void dormir(){
    System.out.println("Zzz");
  }
}

// Subclase
class gato extends animal {
  public void sonidoAnimal(){
    // El cuerpo de sonidoAnimal() es privado
    System.out.println("El gato maulla: miau miau");
  }
}

class main{
  public static void main(String[] args){
    gato miGato = new gato(); // Creamos el objeto gato
    miGato.sonidoAnimal();
    miGato.dormir();
  }
}

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

Para lograr seguridad: Ocultar ciertos detalles y mostrar solo los detalles importantes de un objeto.

This post is licensed under CC BY 4.0 by the author.