19/11/2007, 15:20
|
| | Fecha de Ingreso: octubre-2007
Mensajes: 13
Antigüedad: 17 años, 3 meses Puntos: 1 | |
Re: Que es una clase astracta?? Hola! Voy a ponerte el ejemplo que me pusieron a mi cuando me explicaron esto. Espero que te sirva de ayuda.
Antes que nada debes saber que no se pueden instanciar objetos de una clase abstracta, es decir, no puedes hacer Código PHP: Figura fig = new Figura();
Aunque si puedes definir variables, osea, Otra cosa que debes saber es que las clases abstractas tienen que ver con el Polimorfismo asi que deberias informarte sobre esto. Yo no lo tengo muy claro pero te comento lo que se.
Tenemos la clase abstracta Figura que tiene un metodo llamado pintar(). Y tambien tenemos las clases Cuadrado, Triangulo y Circulo que heredan de la clase abstracta Figura y que tiene que implementar el metodo pintar(). Cada una implementara el metodo para que dibuje la figura correspondiente. La idea es que con la clase abstracta podemos hacer lo siguiente: Código PHP: Fugra fig;
fig = new Cuadrado;
fig.pintar();
fig = new Triangulo;
fig.pintar();
fig = new Circulo;
fig.pintar();
Dado que las 3 clases heredan de Figura la variable fig puede apuntar a un Cuadrado, a un Triangulo o a un Circulo. Y lo mas importante es que sin saber la figura a la que apunta, al hacer la llamada al metodo pintar() dibuja la figura adecuada. Nosotros tenemos una figura y sabemos que se puede pintar pero no tenemos orque saber que se trata de un Cuadro o un Triangulo para poder dibujarlo. Esta es la ventaja de las clases abstractas. El ejemplo es un poco tonto pero puedes aplicar la idea a muchas otras cosas.
Espero que te sirva y tengas una idea mas clara de lo que son las clases abstractas.
Un saludo! |