Anda di halaman 1dari 5

“AÑO DEL DIALOGO Y RECONCILIACIÓN

NACIONAL”

INGENIERÍA DE SISTEMAS
NOMBRES : Jessica Isabel

APELLIDOS : Huertas Nima

CURSO : Técnicas de Programación

TEMA : Investigación Formativa

DOCENTE : Edy García Córdova

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.

Esto es lo que debemos conocer sobre de Clases Abstractas.

 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?

Al trabajar clases y métodos abstractos, no solo mantenemos nuestra aplicación más


organizada y fácil de entender sino que también al no poder instanciar una clase
abstracta nos aseguramos de que las propiedades específicas de esta, solo estén
disponibles para sus clases hijas....

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.

CLASES Y MÉTODOS DE CLASE ABSTRACTAS

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:

public abstract class A


{
// Class members here.
}

No se pueden crear instancias de una clase abstracta. El propósito de una clase


abstracta es proporcionar una definición común de una clase base que múltiples clases
derivadas pueden compartir.

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:

public abstract class A


{
public abstract void DoWork(int i);
}
REGLAS BÁSICAS DE ESTE TIPO DE CLASES:

 Como ya he mencionado, una clase se declara abstracta si tiene algún método


abstracto.

 Una clase abstracta no puede crear objetos, es decir, no podemos


utilizar "new" para una clase abstracta, ya que tiene métodos que no están
definidos.

 Una clase abstracta no puede ser a la vez "final".

 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.

 Una clase abstracta si puede tener constructores. Como sabemos, no es posible


crear objetos de una clase abstracta, pero de una clase, la cual herede de una
clase abstracta, si se pueden crear objetos, y como sabemos cuándo creamos
un objeto de una clase que hereda, la primera llamada de su constructor es una
llamada al constructor de la clase "padre", lo que permite que, aunque no cree
un objeto, si se pueda utilizar su constructor.
CITAS:
1. Betancourt,J. Clases Abstractas:(12/11)[Internet].[Consultado 11 nov. 2018]
Disponible en: https://es.scribd.com/document/59886749/CLASES-
ABSTRACTAS

2. Henao,C. Clases Abstractas:(25/13)[Internet].[Consultado 11 nov.


2018].Disponibleen:http://codejavu.blogspot.com/2013/05/clases-
abstractas.html

3. Bartolomé,A. Programación en objetos:(02/12)[Internet].[Consultado 11


nov. 2108].Disponible en:http://picarcodigo.blogspot.com/2012/10/clases-
abstractas.html

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#

Anda mungkin juga menyukai