PHP - Ejemplo de utilización de una clase abstracta

 
Vista:
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Ejemplo de utilización de una clase abstracta

Publicado por xve (6935 intervenciones) el 07/04/2014 07:45:11
Hola, voy a intentar explicar con un ejemplo la utilización de una clase abstracta... (es una copia de un mensajes que he puesto en el foro de Java, pero que funciona igual en PHP)


Imaginemos que tenemos una tienda de ropa, donde toda la ropa tiene varias cosas en común, como por ejemplo la talla (38, 40, ...) y el tipo de prenda (pantalón, jersey, ...)

Podrías tener una clase abstracta que fuera ropa en la cual defines dos métodos abstractos los cuales no incluyen una codificación, sino que simplemente se declaran, dejando para las clases que hereden la tarea de codificarlos.

En este ejemplo la clase abstracta ropa tendrá dos métodos abstractos denominados talla() y prenda(), pero no se especificará el código fuente de estos métodos (por eso son abstractos). Las clases que hereden de ropa serán las encargadas de definir un código para los métodos definidos como abstractos en la clase padre. Así, cada clase que herede de la clase ropa, deberá especificar el mecanismo concreto y específico para los métodos talla() y prenda()

El ejemplo seria algo así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<?php
abstract class Ropa
{
    // Forzando la extensión de clase para definir este método
    abstract protected function Talla();
    abstract protected function Prenda();
 
    ...
}
 
class RopaHombre extends Ropa
{
    public function Talla()
    {
        ...
    }
 
    public function Prenda()
    {
        ...
    }
}
 
class RopaMujer extends Ropa
{
    public function Talla()
    {
        ...
    }
 
    public function Prenda()
    {
        ...
    }
}
?>

Cabe decir, que una clase abstracta no se puede instanciar directamente, siempre tiene que ser heredada.

Espero que sirva de ayuda...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Ejemplo de utilización de una clase abstracta

Publicado por andres (63 intervenciones) el 07/04/2014 23:40:05
Mira que trabajo un proyecto asi y tengo un problema se me esta demorando mucho el proceso de carga de ciertos datos en la web que sera lo que pasa, por que problema de datos no es.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-1
Comentar
Imágen de perfil de jorge

Ejemplo de utilización de una clase abstracta

Publicado por jorge (19 intervenciones) el 08/04/2014 01:07:35
antes que nada gracias por el aporte, pero lo que no explicas que hay métodos abstractos y métodos que no lo son, si te fijas todos tus métodos son abstractos y si haces eso, entonces creo que estas tomando una clase abstracta como una interface, no se si este mal, pero me gustaría saber tu opinión
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ejemplo de utilización de una clase abstracta

Publicado por anonymous (33 intervenciones) el 09/04/2014 03:30:09
Gracias por el aporte!!! :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar