2012-03-04 16 views
7

así que en php, no tienes que definir el campo en una clase primero como java, ¿es correcto?php agregando campo sobre la marcha sin definirlos primero

en Java no se puede decir

public class javac { 
    int x; 
    int y; 
    public javaC() { 
    this.z = 3; 
    } 
} 

pero en php se puede decir eso?

class phpC { 
$x; 
$y; 

public phpC() { 
    $this->z = "omg"; 
} 
    } 

¿Cuál es la documentación de php sobre esto? y cuál es el término correcto para dicho comportamiento, no creo que se llame campo de adición sobre la marcha

Respuesta

6

Tiene la razón .. Puede asignar un valor a una propiedad no inicializada en PHP. Java es estricto y PHP es loose goosey :)

El nombre técnico para esto es "sobrecarga". Aquí está la documentación: http://php.net/manual/en/language.oop5.overloading.php

+2

+1 Yo agregaría que solo porque no eres *** requerido *** para inicializar la propiedad no significa que no sea una buena idea. – rdlowrey

+0

No podría estar más de acuerdo, excepto en el caso de que esté configurando una clase de interfaz. –

+1

* "una clase de interfaz" * ... su redacción es un poco confusa ... una interfaz real no puede contener variables miembro y generará un error E_FATAL si lo intenta. Perdón por molestarte sobre eso ... la respuesta está bien :) – rdlowrey

Cuestiones relacionadas