Informatica

Solo disponible en BuenasTareas
  • Páginas : 4 (936 palabras )
  • Descarga(s) : 0
  • Publicado : 4 de septiembre de 2010
Leer documento completo
Vista previa del texto
Cuando pensamos en una clase como un tipo, asumimos que los programas crearán objetos de ese tipo. Sin embargo, hay casos en que es útil definir clases para las cuales no se desea instanciar objetos.Tales clases son llamadas clases abstractas. Debido a que normalmente son utilizadas como base en jerarquías de clases, nos referiremos a ellas como clases base abstractas. Las clases abstractas nosirven para instanciar objetos porque están incompletas, siendo sus clases derivadas las que deberán definir las partes faltantes.
El propósito de una clase abstracta es proveer una clase baseapropiada desde la cual otras clases hereden.
Las clases desde las cuales se pueden instanciar objetos se llaman clases concretas. Tales clases proveen implementaciones de cada método o propiedad quedefinen.
Las clases abstractas normalmente contienen uno o más métodos o propiedades abstractas, las cuales no proveen implementación. Las clases derivadas deben reemplazar los métodos abstractos heredadospara permitir la instanciación de objetos.
[pic]

6.2.1.- Definición.

Para definir una clase abstracta se utiliza la palabra clave abstract (que también sirve para definir métodos y propiedadesabstractos).

Ejemplo :

// Clase abstracta con métodos abstractos;
abstract class Figura
{
protected int x, y ;
public abstract double daPerímetro( ) ; // Declaración de un método abstracto.public abstract double daArea( ) ; // Declaración de un método abstracto.
}
Intentar construir objetos de la clase Figura producirá un error de compilación.
[pic]

6.2.2.- Redefinición.Tomando como base una clase abstracta, se pueden implementar clases derivadas que redefinen (reemplazan) a los métodos abstractos heredados de la clase base abstracta.
Toda clase concreta derivada debereemplazar los métodos y propiedades abstractos de la clase base, utilizando la palabra clave override, y proveer implementaciones concretas de tales métodos y propiedades.

Ejemplo 1:

// Clase...
tracking img