Clases Abstractas

Páginas: 12 (2993 palabras) Publicado: 17 de septiembre de 2015
Clases Abstractas
En la entrada sobre conceptos básicos hablamos un poco sobre el termino de Abstracción y en general del como se aplica en el campo de la programación.

En esta ocasión vamos a trabajar un poco más en detalle sobre este concepto de forma rápida y sencilla, veremos la importancia del mismo y su aplicación.

Como se ha mencionado, la abstracción permite resaltar lo másrepresentativo de algo sin importar los detalles.
Básicamente una clase Abstracta es similar a una clase normal (como la vimos en la entrada anterior), la estructura es prácticamente igual, ya que poseen nombre, atributos y métodos pero para que una clase sea abstracta la condición es que al menos uno de sus métodos sea abstracto (se le agrega la palabra reservada abstract y no se especifica el cuerpo delmétodo).................su uso depende de la aplicación del concepto de Herencia y adicionaremos a la estructura básica de clase la palabra reservada abstract. 

Veamos como se implementa en Java.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public abstract class Principal{
 
    /**Método concreto con implementación*/
    public void metodoConcreto(){
       ...............       ...............
    }
 
    /**Método Abstracto sin implementación*/
    public abstract void metodoAbstracto();
   
}
 
class subClase extends Principal{
 
 @Override
 public void metodoAbstracto() {
  /**Implementación definida por la clase concreta*/
 }
  
}


Características de una Clase Abstracta.

Esto es lo que debemos conocer sobre de Clases Abstractas. 
Una clase Abstracta No puede ser instanciada (nose pueden crear objetos directamente - new ), solo puede ser heredada. 
Si al menos un método de la clase es abstract, esto obliga a que la clase completa sea definida abstract, sin embargo la clase puede tener el resto de métodos no abstractos.
Los métodos abstract no llevan cuerpo (no llevan los caracteres {}). 
La primera subclase concreta que herede de una clase abstract debe implementar todoslos métodos de la superclase.

¿Cuándo Utilizarlas?

Al trabajar clases y métodos abstractos, no solo mantenemos nuestra aplicación mas organizada y fácil de entender sino que también al no poder instanciar una clase abstracta nos aseguramos de que las propiedades especificas de esta, solo estén disponibles para sus clases hijas....

Con las Clases Abstractas lo que hacemos es definir un procesogeneral que luego sera implementado por las clases concretas que hereden dichas funcionalidades..........¿Que?........... es decir, si tengo una clase que hereda de otra Abstracta, estoy obligado a poner en el código, todos los métodos abstractos de la clase padre, pero esta vez serán métodos concretos y su funcionalidad o cuerpo sera definido dependiendo de para que la necesite, de esa manera sitengo otra clase que también hereda del mismo padre, implementaré el mismo método pero con un comportamiento distinto..........Veamos un Ejemplo.



En el diagrama vemos una clase Abstracta Instrumento, la cual posee una propiedad tipo y un método abstracto tocar(), vemos también las clases hijasGuitarra, Saxofon y Violin que para este ejemplo solo utilizaremos (mediante la herencia) laspropiedades de la clase Padre.

Todos los instrumentos musicales se pueden tocar, por ello creamos este método abstracto, ya que es un proceso común en todos los instrumentos sin importar el detalle de como se tocan, pues sabemos que una guitarra no se toca de la misma manera que el saxofón, así al heredar de la clase Instrumento, todas sus clases hijas están obligadas a implementar este método y darle lafuncionalidad que le corresponda...

veamos esto en Java.
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65

/**
 * Clase Abstracta Instrumento
 */
abstract class Instrumento{
  
 public String tipo;
  
 public abstract void tocar();
}
 
/**
 * Clase...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • clases abstractas
  • Clases Abstractas
  • Clases Abstractas
  • clases abstractas
  • clases abstractas
  • 2 Clases Abstractas e Interfaces
  • clases abstractas nterfaces
  • Clases y metodos abstractos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS