PHP - Problema con Objetos

 
Vista:

Problema con Objetos

Publicado por Juan (8 intervenciones) el 13/08/2007 15:30:08
Hola a todos en la comunidad.. mi duda es la siguiente, no se si es un error de mi editor de php o algo asi pero en una prueba que realice con POO utilizando el PHP 5 me ocurrio que a traves de lo que un error producido por accidente cuando editaba el PHP me respondio bien, muestro el codigo a continuación:

<?php

//***********************************//
abstract class Figuras{
var $area;

public function __construct()
{
}

public abstract function Calcular_Area();

}

//*************************************//
class rectangulo extends Figuras
{
var $a;
var $b;

function __construct($L1,$L2)
{
$this->L1 = $L1;
$this->L2 = $L2;
}

public function Calcular_Area()
{
$this->area = ($this->L1)*($this->L2);
}

}

//*************************************//

$R1 = new rectangulo(10,5);

$R1->Calcular_Area();

print("El area es: ".$C1->area);

?>

la pimera clase es una clase abstracta llamada figura que posee una variable area y un metodo abstracto calcular area, la segunda es la clase rectangulo que hereda de figuras y por principio de polimorfismo incluye la funcion calcular area, bueno en fin lo que ocurre es lo siguiente:

fijense en la clase rectangulo donde tengo dos variables que representan los lados del rectangulo, se llaman a y b, pero en el contructor las estoy referenciado como $L1 y $L2.. mi duda es que esto parece no importarle a PHP y al imprimir el area del objeto rectangulo este me arroja como resultado 50, es decir esta todo bien, alguien que me explique por que no me dice que hay un error en cuanto a ls variables o algo asi. Por favor pruebenlo, Espero su respuesta y e antemano gracias
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

RE:Problema con Objetos

Publicado por Diego Romero (1450 intervenciones) el 13/08/2007 16:08:11
No veo ningún error:
$L1 en el contexto de la clase figuras es un parámetro del método constructor de la clase heredada rectangulo. $this->L1 es una propiedad de la clase rectangulo, son dos cosas diferentes...

No entiendo tu duda :S.
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

RE:Problema con Objetos

Publicado por Juan (8 intervenciones) el 13/08/2007 21:20:14
Ok entiendo lo que dices, pero es que supone que estuviese editando en java con el Jcreator, eclipse o Netbeans.. cuando yo escriba en la clase rectangulo dentro de la función constructora, la intrucción this. me apareceran a y b que son los de la clase rectangulo, si te fijas bien habras notado que $L1 y $L2 son parametros locales del constructora. mi punto es que pienso que $this.L1 no existe porque la clase no posee ese atributo. Bueno o es asi o estoy viejo en mis conceptos de objetos, gracias por la respuesta.
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

RE:Problema con Objetos

Publicado por Diego Romero (1450 intervenciones) el 14/08/2007 02:32:51
Claro pero debes recordar que PHP es un lenguaje no tipado. Esto significa que (casi) no necesitas declarar una variable (una propiedad en este caso) antes de usarla, el solo hecho de usarla ya la define. Como en Basic...
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

RE:Problema con Objetos

Publicado por Juan (8 intervenciones) el 14/08/2007 18:54:40
Cierto.. muchas gracias, en eso tienes la razon. Aun asi probe con el editor phpdesigner2007 professional, que incluye la opción de complementación mientras tipeas, y al escribir $this-> me aparecia la a y la b... nunca $L1 o $L2. Muchas gracias por la ayuda.. me ha servido bastante. Hasta luego.....
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