NACIONAL”
INGENIERÍA DE SISTEMAS
NOMBRES : Jessica Isabel
CICLO : “II”
2018-II
CLASES ABSTRACTAS
La palabra clave abstract permite crear clases y miembros de clase únicamente con
propósitos de herencia: para definir características de clases derivadas, no abstractas.
La palabra clave sealed permite impedir la herencia de una clase o de ciertos
miembros de clase marcados previamente como virtuales.
CARACTERÍSTICAS DE UNA CLASE ABSTRACTA.
Una clase Abstracta No puede ser instanciada (no se 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 primer subclase concreta que herede de una clase abstract debe
implementar todos los métodos de la superclase.
¿CUÁNDO UTILIZARLA?
Con las Clases Abstractas lo que hacemos es definir un proceso general que luego
será implementado por las clases concretas que hereden dichas
funcionalidades..........¿Qué?........... 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 será
definido dependiendo de para que la necesite, de esa manera si tengo 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
hijas Guitarra, Saxofon y Violin que para este ejemplo solo utilizaremos (mediante
la herencia) las propiedades de la clase Padre.
Las clases se pueden declarar como abstractas. Esto se logra colocando la palabra
clave abstract antes de la palabra clave class en la definición de clase. Por ejemplo:
Las clases abstractas también pueden definir métodos abstractos. Esto se consigue
agregando la palabra clave abstract antes del tipo de valor que devuelve el método.
Por ejemplo:
Si una clase hereda de una clase abstracta, deberá de sobrescribir todos los
métodos abstractos, si no es así, la clase que hereda deberá ser pasada a
abstracta.
Una clase abstracta puede llevar métodos NO abstractos, pero solo con que
exista un método abstracto, la clase deberá ser pasada a abstracta.
Como los métodos estáticos no pueden ser redefinidos, un método abstracto no
puede ser estático.
4. García Llinás LF. Todo lo básico que debería saber: sobre programación
orientada a objetos en Java. Bogotá: Ediciones de la U; 2010.Disponible en:
https://ebookcentral.proquest.com/lib/bibliocauladechsp/reader.action?docID
=3198642&query=clases+abstractas#