Unidad 4: Polimorfismo Ejercicio 4

32
Unidad 4: Polimorfismo “Ejercicio 4”

Transcript of Unidad 4: Polimorfismo Ejercicio 4

Page 1: Unidad 4: Polimorfismo Ejercicio 4

Unidad 4: Polimorfismo“Ejercicio 4”

Page 2: Unidad 4: Polimorfismo Ejercicio 4

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

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

Pon tención al siguiente enunciado…

Page 5: Unidad 4: Polimorfismo Ejercicio 4

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

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

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

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

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

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

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

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

La clase tendrá como atributos misiles, potencias,

camarotes, alquiler de un barco deportivo y de un yate.

Page 14: Unidad 4: Polimorfismo Ejercicio 4

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

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

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

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

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

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

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

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

Asimismo, definimos el método que calculará el

alquiler.

Page 23: Unidad 4: Polimorfismo Ejercicio 4

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

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

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

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

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

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

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

Utilizando JCreator ejecutaremos nuestro main y

obtendremos un resultado como el siguiente…

Page 31: Unidad 4: Polimorfismo Ejercicio 4

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

Nos vemos en el siguiente ejercicio. Hasta pronto.