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 00:14 17 abr 2018