Foros del Web » Programando para Internet » PHP »

Cómo hago para no redundar con unas clases?

Estas en el tema de Cómo hago para no redundar con unas clases? en el foro de PHP en Foros del Web. Hola gente, tengo como 9 clases con esta estructura: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original class mi_clase_1 ( ) {     function mi_clase_1 ( ...
  #1 (permalink)  
Antiguo 29/07/2010, 11:22
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 10 meses
Puntos: 832
Cómo hago para no redundar con unas clases?

Hola gente, tengo como 9 clases con esta estructura:

Código PHP:
Ver original
  1. class mi_clase_1() {
  2.     function mi_clase_1() {
  3.         return $var;
  4.     }
  5.     function otro() {
  6.         return $var;
  7.     }
  8.     function otromas() {
  9.         return $variable;
  10.     }
  11. }

Lo único que cambia en cada una son 2 cosas: el nombre de la clase y el de la primera función. Todo lo demás es idéntico ¿existe alguna forma de evitar escribir lo mismo una y otra vez? algo así como un bucle.
  #2 (permalink)  
Antiguo 29/07/2010, 11:30
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Cómo hago para no redundar con unas clases?

la idea de poo es que si quieres usar lo mismo .. solo hagas 1 y uses la herencia para las demas?
__________________
More about me...
~ @rhyudek1
~ Github
  #3 (permalink)  
Antiguo 29/07/2010, 11:36
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Cómo hago para no redundar con unas clases?

Código PHP:
Ver original
  1. <?php
  2. class foo
  3. {
  4.     public function __construct()
  5.     {
  6.         // foobar
  7.     }
  8.     protected function bar()
  9.     {
  10.         return 'foobar';
  11.     }
  12. }
  13. class bar extends foo
  14. {
  15.     public function __construct()
  16.     {
  17.         // foobar
  18.     }
  19.     public function candy()
  20.     {
  21.         return $this->bar();
  22.     }
  23. }
  24. $a = new bar();
  25. echo $a->candy();
  26. ?>
__________________
More about me...
~ @rhyudek1
~ Github
  #4 (permalink)  
Antiguo 29/07/2010, 11:48
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Cómo hago para no redundar con unas clases?

Si todas las clases tienen los mismos métodos y a excepción solo tienes que añadir un método que es diferente en todas las clases, podrías heredar y crear en cada clase solo la que cambia.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 29/07/2010, 11:51
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Tema movido desde PHP a PHP orientado a objetos
  #6 (permalink)  
Antiguo 29/07/2010, 12:05
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 19 años, 10 meses
Puntos: 832
Respuesta: Cómo hago para no redundar con unas clases?

Gracias, con el ejemplo de Hidek1 voy entendiendo el asunto.

Etiquetas: clases
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:41.