Ver Mensaje Individual
  #9 (permalink)  
Antiguo 15/08/2006, 10:16
NightDark
 
Fecha de Ingreso: enero-2006
Ubicación: mi casa
Mensajes: 255
Antigüedad: 18 años, 4 meses
Puntos: 0
Haber yo tambien coopero, aunque sé poco (dos días de leer y uno de codear)

Según lo que entiendo es que al poner tus atributos en privado al no poder ser accesados fuera de la clase necesitas usar funciones set y get para obtener y colocarle valores a esos atributos, por ejemplo:

Código PHP:
Class example
{
  private 
$atributo1;
  private 
$atributo2;

  public function 
setAtributo1($variable)
  { 
     
$this->atributo1 $variable;
  }
  public function 
getAtributo2()
  {
     return 
$this->atributo2;
  }
  
   function 
__construct($exam)
   {
   
$this->atributo2 $exam;
   }
}

$obj = new example("Esto es un ejemplo");
$obj->setAtributo1("Seteamos el atributo 1.. es como una puerta hacia el objeto, ya que no tenemos acceso al atributo..");

echo 
$obj->getAtributo2(); 
Eso es lo que yo entendí, si estoy mal pues corregidme :)
un saludo...

Ah! y aquí va lo que codie que le faltan varios retoques aún y que no terminé, pero espero que esté bien codeado..


Código PHP:
<?php

Class Auto
{
  public 
$velocidad;
  private 
$gasolina;
  public 
$puertas;
  public 
$velocidad2;

  static public function 
cargar_gasolina($litro){
          
$this->gasolina +=  $litro;
  }

  public function 
enciende_motor($encender)
  {
          if ( 
$encender )
             {
               return 
true;
             }
  }

  public function 
frenar_auto()
  {

  while(
$this->velocidad2 0){
       echo 
"Auto frenando: bajando velocidad:"$this->velocidad2."\n";
          
$this->velocidad2--;
  }
  if( 
$this->velocidad2 == ) return 0;
  }

  public function 
acelerar($acelera)
  {
  if ( 
$acelera ) {

          while(
$this->velocidad2 $this->velocidad && $acelera+$this->velocidad2 != $this->velocidad2){
          echo 
"El auto acelera: $this->velocidad2 \n";
          
$this->velocidad2++;

          if ( 
$this->velocidad2 == $this->velocidad )
           {
                   return 
$this->velocidad2;
           }
          }
          return 
$this->velocidad2;
  }

  }

  function 
__construct($velocidad,$cilindros,$puertas,$combustible)
  {
          
$this->velocidad $velocidad;
          
$this->cilindros $cilindros;
          
$this->puertas   $puertas;
          
$this->velocidad2 0;
          
$this->gasolina   $combustible;

  }

}


$obj = new Auto("315","16","2");
if ( 
$obj->enciende_motor("1") )
{
        echo 
"El auto va a:"$obj->acelerar(6)." km/h \n";
        
$obj->frenar_auto();
        echo 
"El auto frenó y su velocidad es de: $obj->velocidad2\n";
}

exit(
"Fin de programa");


?>