Retroceder   Foros del Web > Programación para sitios web > PHP > PHP orientado a objetos

Respuesta
 
Herramientas Desplegado
Antiguo 13-ene-2005, 23:52   #1 (permalink)
stock tiene algunos puntos positivos de karma
 
Avatar de stock
 
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 1.993
Multiples constructores

Solo una duda!!

En PHP puedo tener varios constructores, asi como en JAVA??

Código PHP:
class myclase{
         function 
myclase(){
             echo 
"Constructor sin parametros!";
         }

         function 
myclase($par){
             echo 
"solo con un parametro!";
         }

         function 
myclase($par,$otro="algo"){
             echo 
"Con 2 parametros!!";
         }

es eso posible?? otra pregunta, puedo tener variables privadas y publicas??

bytes!!
__________________
Don't hate the languaje, hate the runtime environment
Crysfel's Blog :: Blog de programación, JAVA,PHP, AJAX, JavaScript, CSS y otras hierbas

Última edición por stock; 13-ene-2005 a las 23:53.
stock está desconectado   Responder Citando
Antiguo 14-ene-2005, 06:49   #2 (permalink)
Calisco tiene algunos puntos positivos de karma
 
Avatar de Calisco
 
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 696
Creo, si no me equivoco ya que soy bastante nuevo en esto, lo que estas haciendo es sobrecarga. PHP 5 soporta la sobrecarga, pero creo que la sintaxis es distinta.

Por otro lado, otra mejora sustancial de PHP 5 es el encaptulamiento. Por eso, soporta variables publicas y privadas.

MI firma tiene un acceso a la traduccion del manual de PHP5 al castellano. Todavia no esta terminado del todo, pero vas a poder encontrar estas secciones.
__________________
| Cabeza De Raton | Foro MooTools en Castellano |
Calisco está desconectado   Responder Citando
Antiguo 14-ene-2005, 06:50   #3 (permalink)
Calisco tiene algunos puntos positivos de karma
 
Avatar de Calisco
 
Fecha de Ingreso: marzo-2004
Ubicación: Neuquen
Mensajes: 696
Encapsulamiento
Sobrecarga
__________________
| Cabeza De Raton | Foro MooTools en Castellano |
Calisco está desconectado   Responder Citando
Antiguo 14-ene-2005, 14:27   #4 (permalink)
Moderador PHP
jpinedo ha deshabilitado el karma
 
Avatar de jpinedo
 
Fecha de Ingreso: septiembre-2003
Ubicación: Piura
Mensajes: 2.748
Pues no... PHP no permite directamente definir más de una función con el mismo nombre como en Java. En PHP una función está definida por su nombre, mientras que en Java se define por su nombre, número de argumentos y tipo de argumentos lo cual permite una sobrecarga más fácil.

Pero existen formas de hacer esta sobrecarga definiendo una única función que haga una u otra cosa según la cantidad de parámetros que se le pasen.
Para eso utilizas
func_num_args() que te devuelve el número de argumentos pasados a la función. http://www.php.net/func-num-args
func_get_arg($posicion) que te devuelve el valor del argumento que está pasado en la posicion $posicion. http://www.php.net/func-get-args
En PHP 4 sería:
Código PHP:
function miFuncion(){
    switch(
func_num_args()){
        case 
0:
            echo 
"Ejecución de miFuncion() sin parámetros";break;
        case 
1:
            echo 
"Ejecución de miFunction() con UN parámetro<br />\n";
            echo 
"El parámetro es:"func_get_arg(0);break;
        case 
2:
            echo 
"Ejecución de miFunction() con DOS parámetro<br />\n";
            echo 
"El parámetro 1 es:"func_get_arg(0);
            echo 
"El parámetro 2 es:"func_get_arg(1);break;
        default:
            echo 
"Error!.. número incorrecto de parámetros";
    }

Sobre este tema (muy similar) Webstudio hizo una gran expliación hace poco:
Para el foro

Saludos

Última edición por jpinedo; 14-ene-2005 a las 14:41.
jpinedo está desconectado   Responder Citando
Antiguo 14-ene-2005, 18:05   #5 (permalink)
Moderador PHP
jpinedo ha deshabilitado el karma
 
Avatar de jpinedo
 
Fecha de Ingreso: septiembre-2003
Ubicación: Piura
Mensajes: 2.748
En ZonaPHP hay un buen artículo sobre POO. En el apartado "sobrecarga" se resuelve este tema de una manera más directa:
http://www.zonaphp.com/index.php?mod...&id=1&pagina=5

Saludos
jpinedo está desconectado   Responder Citando
Respuesta

Calificación: Calificación de Tema: 1 votos, 5,00 de promedio.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 22:03.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

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 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93