Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/04/2011, 14:22
novoweb
 
Fecha de Ingreso: abril-2010
Ubicación: Calama
Mensajes: 58
Antigüedad: 14 años, 8 meses
Puntos: 0
Pregunta Operadores aritméticos no funcionan en Clases

ola PHPriends, tengo un problema con el tema de las clases, y quisiera me dieran una ayudita. Estoy siguiendo las instrucciones de un libro sobre el tema, y en este se presenta el siguiente ejemplo:

Código PHP:
Ver original
  1. class miClase   {
  2.     public $numMayor;
  3.     public function miFuncion($mensaje, $num)   {
  4.         return $mensaje." ".$this->numMayor * $num;
  5.     }
  6. }
  7. $miInstancia = new miClase();
  8. $miInstancia->numMayor = 100;
  9. echo $miInstancia->miFuncion("El resultado es", 3);

El código tal como está funciona muy bien; da el resultado esperado, que es 300. El problema se presenta cuando le cambio el signo de multiplicar por otro. Por ejemplo, si quiero que la función haga una resta ($this->numMayor - $num;), no la hace, y me devuelve solamente el número 3 que le paso a la función. Lo mismo sucede cuando quiero sumar. El código, sin embargo, funciona perfectamente cuando hago una multiplicación y una división.

¿Alguien podría explicarme cuál es el error?

Por otro lado, y siguiendo las instrucciones del libro, traté de crear una clase, apegandome lo máximo posible al ejemplo anterior. Este es el código:

Código PHP:
Ver original
  1. class Edad  {
  2.     public $anioActual;
  3.     public function calcularEdad($mensaje, $anioNacimiento) {
  4.         return $mensaje." ".$this->anioActual - $anioNacimiento;
  5.     }
  6. }
  7. $Jorge = new Edad();
  8. $Jorge->$anioActual = 2011;
  9. echo $Jorge->calcularEdad("Jorge tiene", 1975);

Pero esto me da el siguiente error: Fatal error: Cannot access empty property in... line 8

Por favor necesito que me aclaren el tema...