Con funciones:
class Coche{ private $marca; private $modelo; private $velocidad; //Crear las funciones que nos permitan poner y obtener valores //En el caso de la velocidad el valor permitido está entre 50 y 300 //En el caso de marca y modelo comprobar que no esté vacío function setMarca($marca){ if (!empty($marca)){ $this->marca=$marca; } } function setModelo($modelo){ if (!empty($modelo)){ $this->modelo=$modelo; } } function setVelocidad($velocidad){ if ($velocidad>=50 && $velocidad<=300){ $this->velocidad=$velocidad; } else{ throw new Exception("La velocidad debe estar entre 50 y 300"); } } function getMarca(){ return $this->marca; } function getModelo(){ return $this->modelo; } function getVelocidad(){ return $this->velocidad; } } $seat=new Coche(); $seat->setMarca("Seat"); $seat->setModelo("Panda"); $seat->setVelocidad(180); print_r($seat);
Con __get y __set
<?php class Coche { private $marca; private $modelo; private $velocidad; //Crear las funciones que nos permitan poner y obtener valores //En el caso de la velocidad el valor permitido está entre 50 y 300 //En el caso de marca y modelo comprobar que no esté vacío function __get($name) { if (property_exists('Coche', $name)) { return $this->$name; } } function __set($name, $value) { if ($name == "velocidad") { if ($value >= 50 && $value <= 300) { $this->velocidad = $value; } else { throw new Exception("La velocidad debe estar entre 50 y 300"); } } else { if (!empty($value) && property_exists('Coche', $name)) { $this->$name = $value; } } } } $seat = new Coche(); $seat->marca = "Seat"; $seat->modelo = "Panda"; $seat->velocidad = 180; $seat->color="rojo"; echo $seat->modelo; echo $seat->color; print_r($seat);