Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

y esta clase como funciona parte 1

Estas en el tema de y esta clase como funciona parte 1 en el foro de Frameworks y PHP orientado a objetos en Foros del Web. hola una pregunta, estoy viendo el manual de pHP... y tiene un ejemplo, del cual no entiendo me dicen como es?? aca esta.. http://www.php.net/manual/es/language.oop5.basic.php Código ...
  #1 (permalink)  
Antiguo 11/03/2013, 20:10
 
Fecha de Ingreso: febrero-2013
Ubicación: en mi casa
Mensajes: 541
Antigüedad: 11 años, 1 mes
Puntos: 3
y esta clase como funciona parte 1

hola una pregunta, estoy viendo el manual de pHP...

y tiene un ejemplo, del cual no entiendo me dicen como es??

aca esta..

http://www.php.net/manual/es/language.oop5.basic.php

Código PHP:
<?php
class Test
{
    static public function 
getNew()
    {
        return new static;
    }
}

class 
Child extends Test
{}

$obj1 = new Test();
$obj2 = new $obj1;
var_dump($obj1 !== $obj2);

$obj3 Test::getNew();
var_dump($obj3 instanceof Test);

$obj4 Child::getNew();
var_dump($obj4 instanceof Child);
?>

este es lo que imprime,,

Código PHP:
bool(true)
bool(true)
bool(true

para empezar lo que veo es esto...



hay una clase, llamada test. esta tiene una funcion estatica, que puede ser llamada sin instanciar, la clase, con los dos puntos asi test::getnew...
bueno esta funcion devuelve algo inusual, a lo que conozco... es como si retornase una palabra reservada de php...

en este caso retorna "new static"

despues hay otra clase llamada, child. que extiende a test, es hija de test.
la clase child no tiene nada... (no se si es obligatorio que las clases contengan un consstructor..)

instancio un objeto de la clase test, este objeto se llama $obj1

despues si $OBJ1 no es una clase, como puedo instanciar a esta, como es posible que se pueda hacer de un objeto otro objeto...?

en algun momento que instancia la primer clase, se toco el metodo function getNew????

despues esa comparacion $obj1 !== $obj2 vendria a ser como si comparase objetos por valor y tipo??

despues en las otras comparaciones llamo al metodo estatico, getnew, a ver...
........

cuando hago que herede... de la clase test... el metodo sera accesible por la clase padre y la hija...

por ejemplo padre::clase_static es lo mismo que hija::clase_static

bueno algo asi sucede. lo que no tengo idea es que contiene $obj3 y $obj4

ya que estos metodos raros devuelven "return new static;"

--------

en el resultado final, creo que devuelve true por que se especifica,, que el metodo es de la misma instancia que compara
  #2 (permalink)  
Antiguo 11/03/2013, 20:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: y esta clase como funciona parte 1

Yo que tu no me despegaba del manual a cada duda, ahí está todo, de verdad.

La palabra clave 'static'

Operadores de comparación

INSTANCEOF
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: clase, parte, php
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 20:35.