Unidad 4: Polimorfismo Ejercicio 4
-
Upload
fabiola-valerio -
Category
Education
-
view
2.081 -
download
10
Transcript of Unidad 4: Polimorfismo Ejercicio 4
![Page 1: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/1.jpg)
Unidad 4: Polimorfismo“Ejercicio 4”
![Page 2: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/2.jpg)
Pon tención al siguiente enunciado…En esta ocasión analizaremos un ejercicio
de Polimorfismo en combinación con Herencia.
Hola compañero, bienvenido a un ejercicio mas del tutorial de POO.
![Page 3: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/3.jpg)
Pon tención al siguiente enunciado…En esta ocasión analizaremos un ejercicio
de Polimorfismo en combinación con Herencia.
![Page 4: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/4.jpg)
Pon tención al siguiente enunciado…
![Page 5: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/5.jpg)
Un alquiler se calcula multiplicando el número de días de ocupación (incluyendo los días inicial y final) por un módulo función de cada barco (obtenido simplemente multiplicando por 10 los metros de eslora) y por un valor fijo (2 en la actualidad). Sin embargo ahora se pretende diferenciar la información de algunos tipos de barcos:
• Número de mástiles para veleros• Potencia en CV para embarcaciones deportivas a motor• Potencia en CV y número de camarotes para yates de lujo• El módulo de los barcos de un tipo especial se obtiene como el
módulo normal más:• El número de mástiles para veleros• La potencia en CV para embarcaciones deportivas a motor• La potencia en CV mas el número de camarotes para yates de
lujo
Utilice herencia de forma apropiada y polimorfismo para elaborar los métodos que permitan calcular el alquiler de cualquier tipo de barco
![Page 6: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/6.jpg)
Definiremos también un constructor para inicializar
los atributos.
Vamos a empezar definiendo la clase Barco. Esta tendrá
como atributos la matricula, el sloran y el año de
fabricación.
![Page 7: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/7.jpg)
Definiremos también un constructor para inicializar
los atributos.
Vamos a empezar definiendo la clase Barco. Esta tendrá
como atributos la matricula, el sloran y el año de
fabricación.
//CLASE BARCOpublic class barco {int matricula;float sloran;int año_fab;
![Page 8: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/8.jpg)
Definiremos también un constructor para inicializar
los atributos.
//CLASE BARCOpublic class barco {int matricula;float sloran;int año_fab;
![Page 9: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/9.jpg)
Definiremos también un constructor para inicializar
los atributos.
//CLASE BARCOpublic class barco {int matricula;float sloran;int año_fab;public barco(int matricula,float sloran,int año_fab){this.matricula=matricula;this.sloran=sloran;this.año_fab=año_fab;}
![Page 10: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/10.jpg)
De acuerdo al problema es necesario tener también un método que nos devuelva el
módulo.
![Page 11: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/11.jpg)
De acuerdo al problema es necesario tener también un método que nos devuelva el
módulo.
//METODO “MODULO”public float modulo(){return (10*sloran);}}
![Page 12: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/12.jpg)
La clase tendrá como atributos misiles, potencias,
camarotes, alquiler de un barco deportivo y de un yate.
Hemos terminado la clase Barco. Ahora crearemos la clase tipos_barco que hará
extends a la anterior.
![Page 13: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/13.jpg)
La clase tendrá como atributos misiles, potencias,
camarotes, alquiler de un barco deportivo y de un yate.
![Page 14: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/14.jpg)
Definimos por último el método que nos permitirá
saber que tipo de barco es de acuerdo al atributo
camarotes.
Y añadiremos también el constructor respectivo para
inicializar atributos.
![Page 15: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/15.jpg)
Definimos por último el método que nos permitirá
saber que tipo de barco es de acuerdo al atributo
camarotes.
Añadiremos también el constructor respectivo para
inicializar atributos.
public tipos_barco(int mastiles,int potencia,int camarotes,int matricula,float sloran,int año_fab){super(matricula,sloran,año_fab);this.mastiles=mastiles;this.potencia=potencia;this.camarotes=camarotes;
![Page 16: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/16.jpg)
Definimos por último el método que nos permitirá
saber que tipo de barco es de acuerdo al atributo
camarotes.
public tipos_barco(int mastiles,int potencia,int camarotes,int matricula,float sloran,int año_fab){super(matricula,sloran,año_fab);this.mastiles=mastiles;this.potencia=potencia;this.camarotes=camarotes;
![Page 17: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/17.jpg)
Definimos por último el método que nos permitirá
saber que tipo de barco es de acuerdo al atributo
camarotes.
public tipos_barco(int mastiles,int potencia,int camarotes,int matricula,float sloran,int año_fab){super(matricula,sloran,año_fab);this.mastiles=mastiles;this.potencia=potencia;this.camarotes=camarotes;//CONDICIONES PARA SABER Q TIPO DE BARCO ESpublic float mostrar(){if (camarotes==0){return deportivo;}elsereturn yate;}}
![Page 18: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/18.jpg)
Creamos el constructor respectivo.
Ahora creamos la clase Alquiler. Esta tendrá como
atributos el DNI, la fecha de inicio de ocupación, la fecha final y la posición de amarre.
![Page 19: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/19.jpg)
Creamos el constructor respectivo.
Ahora creamos la clase Alquiler. Esta tendrá como
atributos el DNI, la fecha de inicio de ocupación, la fecha final y la posición de amarre.
//CLASE ALQUILERpublic class alquiler extends barco{String nombre_cliente;int DNI;int fecha_inicio;int fecha_final;float posicion_amarre;
![Page 20: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/20.jpg)
Creamos el constructor respectivo.
//CLASE ALQUILERpublic class alquiler extends barco{String nombre_cliente;int DNI;int fecha_inicio;int fecha_final;float posicion_amarre;
![Page 21: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/21.jpg)
Creamos el constructor respectivo.
//CLASE ALQUILERpublic class alquiler extends barco{String nombre_cliente;int DNI;int fecha_inicio;int fecha_final;float posicion_amarre;public alquiler(String nombre_cliente,int DNI,int fecha_inicio,int fecha_final,float posicion_amarre,int matricula,float sloran,int año_fab){super(matricula,sloran,año_fab);this.nombre_cliente=nombre_cliente;this.DNI=DNI;this.fecha_inicio=fecha_inicio;this.fecha_final=fecha_final;this.posicion_amarre=posicion_amarre;}
![Page 22: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/22.jpg)
Asimismo, definimos el método que calculará el
alquiler.
![Page 23: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/23.jpg)
Asimismo, definimos el método que calculará el
alquiler.
public float precio_alquiler(){if(fecha_final>fecha_inicio)return (((fecha_final-fecha_inicio)+1)*super.modulo());elsereturn 0000000000;}}
![Page 24: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/24.jpg)
Solicitamos los datos necesarios por consola. Recuerda que debemos
importar la librería java.útil.Scanner para esto.
Listo ya tenemos las clases necesarias. Ahora generemos la clase principal para probar
el resto.
![Page 25: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/25.jpg)
Solicitamos los datos necesarios por consola. Recuerda que debemos
importar la librería java.útil.Scanner para esto.
![Page 26: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/26.jpg)
Solicitamos los datos necesarios por consola. Recuerda que debemos
importar la librería java.útil.Scanner para esto.
//CLASE PRINCIPALimport java.util.Scanner;public class Principal1 {public static void main(String[] args) {Scanner sc=new Scanner(System.in);String nom;int dni,fi,ff,matric,año_fabr,mastiles,potencia,camarotes;float pos_amarre,a,sloran;System.out.print("ingrese fecha incial : ");fi=sc.nextInt();System.out.print("ingrese fecha final : ");ff=sc.nextInt();
![Page 27: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/27.jpg)
System.out.print("ingrese esloran en metros : ");sloran=sc.nextFloat();System.out.print("ingrese nombre : ");nom=sc.nextLine();System.out.print("ingrese dni : ");dni=sc.nextInt();System.out.print("ingrese año de fabric : ");año_fabr=sc.nextInt();System.out.print("ingrese numero mastiles : ");
mastiles=sc.nextInt();System.out.print("ingrese potencia : ");potencia=sc.nextInt();System.out.print("ingrese numero de camarotes : ");camarotes=sc.nextInt();System.out.print("ingrese posicion de amarre : ");pos_amarre=sc.nextFloat();System.out.print("ingrese matricula : ");matric=sc.nextInt();
![Page 28: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/28.jpg)
De acuerdo al número de mástiles mostramos el precio
del alquiler.
alquiler al=new alquiler(nom,dni,fi,ff,pos_amarre,matric,sloran,año_fabr);tipos_barco tp=new tipos_barco(mastiles,potencia,camarotes,matric,sloran,año_fabr);
![Page 29: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/29.jpg)
De acuerdo al número de mástiles mostramos el precio
del alquiler.
alquiler al=new alquiler(nom,dni,fi,ff,pos_amarre,matric,sloran,año_fabr);tipos_barco tp=new tipos_barco(mastiles,potencia,camarotes,matric,sloran,año_fabr);if (mastiles>0){a=((al.precio_alquiler())*(tp.mostrar()));System.out.print("el precio del alquiler es : "+a);}}}
![Page 30: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/30.jpg)
Utilizando JCreator ejecutaremos nuestro main y
obtendremos un resultado como el siguiente…
![Page 31: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/31.jpg)
Nos vemos en el siguiente ejercicio. Hasta pronto.
Bueno compañero, esto fue todo por ahora, espero que la solución de este ejercicio
te haya sido clara y provechosa.
![Page 32: Unidad 4: Polimorfismo Ejercicio 4](https://reader033.fdocument.pub/reader033/viewer/2022061611/557bdad0d8b42aac4c8b4ba3/html5/thumbnails/32.jpg)
Nos vemos en el siguiente ejercicio. Hasta pronto.