Clases Abstractas
Enviado por karlaquintana14 • 5 de Agosto de 2012 • 672 Palabras (3 Páginas) • 611 Visitas
Clases abstractas
Este Tipo de Clases nos permiten crear “método generales”, que recrean un comportamiento común, pero sin especificar cómo lo hacen. A nivel de código tienen por particularidad que algunos de sus métodos no tienen “cuerpo de declaración”, ¿qué quiere decir esto? no tienen las llaves { } ni código dentro de ellos y deben estar precedidos por la palabra clave abstract. Si una clases contiene uno o más métodos abstractos está clase debe ser abstracta. Estas clases como son generalidades no pueden ser instanciadas por ningún objeto (se dice que su nivel de abstracción es demasiado alto), entonces su único fin es ser heredado/extendido por otras clases.
Ejemplo clase abstracta
class Abstracta
{
public:
virtual int metodo() = 0;
};
class ConcretaA : public Abstracta
{
public:
int metodo()
{
//haz algo
return foo () + 2;
}
};
class ConcretaB : public Abstracta
{
public:
int metodo()
{
//otra implementación
return baz () - 5;
}
};
Las clases abstractas son útiles para definir interfaces, es decir, un conjunto de métodos que definen el comportamiento de un módulo determinado. Estas definiciones pueden utilizarse sin tener en cuenta la implementación que se hará de ellos.
Como lo puedo usar en mi proyecto
En mi proyecto creo no hay donde aplicarlo porque no se duplicaran métodos pensaba que se podría aplicar en proveedores porque este tendrá una relación con producto pero no se puedo porque la misma función hará lo mismo.
Interfaces
Mediante las interfaces, puede especificar los métodos que debe implementar un componente sin especificar realmente cómo se implementa el método.
Un interface es una colección de declaraciones de métodos (sin definirlos) y también puede incluir constantes.
Runnable es un ejemplo de interface en el cual se declara, pero no se implemementa, una función miembro run.
public interface Runnable {
public abstract void run();
}
Las clases que implementen (implements) el interface Runnable han de definir obligatoriamente la función run.
class Animacion implements Runnable{
//..
public void run(){
//define la función run
}
}
El papel del interface es el de describir algunas de las características de una clase. Por ejemplo, el hecho de que una persona sea un futbolista no define su personalidad completa, pero hace que tenga ciertas características que las distinguen de otras.
Clases que no están relacionadas pueden implementar el interface Runnable,
...