Diferencia entre revisiones de «Usuario:ManuelRomero/ProgramacionWeb/php/Inaem2017/POO/ejercicios»
De WikiEducator
(Página creada con «{{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2017/Objetos/nav}} <br />») |
|||
| (2 revisiones intermedias por el mismo usuario no mostrado) | |||
| Línea 1: | Línea 1: | ||
{{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2017/Objetos/nav}} | {{:Usuario:ManuelRomero/ProgramacionWeb/INAEM2017/Objetos/nav}} | ||
<br /> | <br /> | ||
| + | <div class="slide"> | ||
| + | |||
| + | {{MRM_Actividad| | ||
| + | ;Empleado | ||
| + | *Confeccionar una clase Empleado, definir como atributos su nombre y sueldo. | ||
| + | *Definir un método inicializarlo para que lleguen como dato el nombre y sueldo. | ||
| + | *Plantear un segundo método que imprima el nombre y un mensaje si debe o no pagar impuestos (si el sueldo supera a 3000 paga impuestos) | ||
| + | }} | ||
| + | <!-- | ||
| + | <source lang=php> | ||
| + | <html> | ||
| + | <head> | ||
| + | <title>Pruebas</title> | ||
| + | </head> | ||
| + | <body> | ||
| + | <?php | ||
| + | class Empleado { | ||
| + | private $nombre; | ||
| + | private $sueldo; | ||
| + | |||
| + | public function asigna($nom,$sue) | ||
| + | { | ||
| + | $this->nombre=$nom; | ||
| + | $this->sueldo=$sue; | ||
| + | } | ||
| + | public function pagaImpuestos() | ||
| + | { | ||
| + | echo $this->nombre; | ||
| + | echo '-'; | ||
| + | if ($this->sueldo>3000) | ||
| + | echo 'Debe pagar impuestos'; | ||
| + | else | ||
| + | echo 'No paga impuestos'; | ||
| + | echo '<br>'; | ||
| + | } | ||
| + | } | ||
| + | |||
| + | $empleado1=new Empleado(); | ||
| + | $empleado1->asigna('Luis',2500); | ||
| + | $empleado1->pagaImpuestos(); | ||
| + | $empleado1=new Empleado(); | ||
| + | $empleado1->asigna('Carla',4300); | ||
| + | $empleado1->pagaImpuestos(); | ||
| + | ?> | ||
| + | </body> | ||
| + | </html> | ||
| + | </source> | ||
| + | --> | ||
| + | {{MRM_Actividad| | ||
| + | Confeccionar una clase Menu. Permitir añadir la cantidad de opciones que necesitemos. Mostrar el menú en forma horizontal o vertical (según que método llamemos) | ||
| + | }} | ||
| + | <!-- | ||
| + | <source lang = php> | ||
| + | <html> | ||
| + | <head> | ||
| + | <title>Pruebas</title> | ||
| + | </head> | ||
| + | <body> | ||
| + | <?php | ||
| + | class Menu { | ||
| + | private $enlaces=array(); | ||
| + | private $titulos=array(); | ||
| + | public function cargarOpcion($en,$tit) | ||
| + | { | ||
| + | $this->enlaces[]=$en; | ||
| + | $this->titulos[]=$tit; | ||
| + | } | ||
| + | public function mostrarHorizontal() | ||
| + | { | ||
| + | for($f=0;$f<count($this->enlaces);$f++) | ||
| + | { | ||
| + | echo '<a href="'.$this->enlaces[$f].'">'.$this->titulos[$f].'</a>'; | ||
| + | echo "-"; | ||
| + | } | ||
| + | } | ||
| + | public function mostrarVertical() | ||
| + | { | ||
| + | for($f=0;$f<count($this->enlaces);$f++) | ||
| + | { | ||
| + | echo '<a href="'.$this->enlaces[$f].'">'.$this->titulos[$f].'</a>'; | ||
| + | echo "<br>"; | ||
| + | } | ||
| + | } | ||
| + | } | ||
| + | |||
| + | $menu1=new Menu(); | ||
| + | $menu1->cargarOpcion('http://www.google.com','Google'); | ||
| + | $menu1->cargarOpcion('http://www.yahoo.com','Yhahoo'); | ||
| + | $menu1->cargarOpcion('http://www.msn.com','MSN'); | ||
| + | $menu1->mostrarVertical(); | ||
| + | ?> | ||
| + | --> | ||
| + | </body> | ||
| + | </html> | ||
| + | </source> | ||
| + | {{MRM_Actividad| | ||
| + | ;Fecha | ||
| + | *Confeccionar una clase FEcha, definir como atributos su dia mes y anyo | ||
| + | *El constructor debe permitir crear fechas con la siguiente asingación | ||
| + | <source lang=php> | ||
| + | $f1 = new Fecha() //Asigna la fecha actual (dia, mes y año) | ||
| + | $f2 = new Fecha(5) //dia = 5, mes y año el actual) | ||
| + | $f2 = new Fecha(5,12) //dia = 5, mes= 12 y año el actual) | ||
| + | $f2 = new Fecha(5,12,1990) //dia = 5, mes= 12 y año=1990) | ||
| + | </source> | ||
| + | Si la fecha facilita no es correcta, se asigna la fecha actual | ||
| + | http://php.net/manual/es/function.checkdate.php | ||
| + | Habrá un método llamado diferencia que me permitirá calcular los días, meses o años entre la fecha pasada como parámetro y el objeto actual. | ||
| + | |||
| + | }} | ||
| + | |||
| + | {{MRM_Actividad| | ||
| + | Construir una clase llamado racional que podamos inicializar con un string del tipo por ejemplo "8/5" | ||
| + | }} | ||
| + | <source lang=php> | ||
| + | <?php | ||
| + | class racional { | ||
| + | //put your code here | ||
| + | private $numRacional; | ||
| + | public function __construct($cadena) { | ||
| + | $this->numRacional = $cadena; | ||
| + | } | ||
| + | public function __toString()(){ | ||
| + | return $this->numRacional; | ||
| + | } | ||
| + | } | ||
| + | |||
| + | $a=new racional("8/5"); | ||
| + | $b=new racional("6/4"); | ||
| + | echo "<br>valor de \$a: $a <br />"; | ||
| + | echo "<br>valor de \$b: $b"; | ||
| + | ?> | ||
| + | </source> | ||
| + | |||
| + | |||
| + | |||
| + | {{MRM_Actividad| | ||
| + | Creamos la clase factura | ||
| + | *Constantes IVA | ||
| + | *Atributos Importe Base, fecha, impuestos, Importe bruto, estado (pagada o pendiente) | ||
| + | *Métodos: imprime }} | ||
| + | |||
| + | {{MRM_Actividad|Title=Sobrecargar el constructor de un racional| | ||
| + | Siguiendo el ejemplo establecido anteriormente realiza un constructor que permita instanciar un objeto de la clase racional de la siguiente manera | ||
| + | <source lang=php> | ||
| + | $a = new racional ("8/5");/* 8/5 */ | ||
| + | $b = new racional (5,4); /* 5/6 */ | ||
| + | $c = new racional (5); /* 5/1 */ | ||
| + | $d = new racional (); /* 1/1 */ | ||
| + | </source> | ||
| + | }} | ||
Última revisión de 11:14 16 abr 2018