2. En compañero, bienvenido a
Holaesta ocasión analizaremos un ejercicio de
mas
Pon tención al siguiente enunciado…
Polimorfismodel tutorial de POO. Herencia.
en combinación con
3. En esta ocasión analizaremos un ejercicio de
Pon tención al siguiente enunciado…
Polimorfismo en combinación con Herencia.
5. 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
6. Vamos a empezar definiendo la
Definiremos también un
clase Barco. Esta tendrá como
constructor para inicializar los
atributos la matricula, el sloran y el
atributos.
año de fabricación.
7. Vamos a empezar definiendo la
Definiremos también un
clase Barco. Esta tendrá como
constructor para inicializar los
atributos la matricula, el sloran y el
atributos.
año de fabricación.
//CLASE BARCO
public class barco {
int matricula;
float sloran;
int año_fab;
8. Definiremos también un
constructor para inicializar los
atributos.
//CLASE BARCO
public class barco {
int matricula;
float sloran;
int año_fab;
9. Definiremos también un
constructor para inicializar los
atributos.
//CLASE BARCO
public 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;
}
10. De acuerdo al problema es
necesario tener también un
método que nos devuelva el
módulo.
11. 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);
}
}
12. Hemos terminado la clase Barco.
La clase tendrá como atributos
misiles, potencias, camarotes, alq
Ahora crearemos la clase
tipos_barco barco deportivo y a la
uiler de un que hará extends de
anterior.
un yate.
13. La clase tendrá como atributos
misiles, potencias, camarotes, alq
uiler de un barco deportivo y de
un yate.
14. Definimos por último el método
Y añadiremos también el
que nos permitirá saber que tipo
constructor respectivo para
de barco es de acuerdo al
inicializar atributos.
atributo camarotes.
15. Definimos por último el método
Añadiremos también el
que nos permitirá saber que tipo
constructor respectivo para
de barco es de acuerdo al
inicializar atributos.
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;
16. 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;
17. 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 ES
public float mostrar()
{
if (camarotes==0)
{
return deportivo;
}
else
return yate;}}
18. Ahora creamos la clase Alquiler.
Esta tendrá como atributos el
Creamos el constructor
DNI, la fecha de inicio de
respectivo.
ocupación, la fecha final y la
posición de amarre.
19. Ahora creamos la clase Alquiler.
Esta tendrá como atributos el
Creamos el constructor
DNI, la fecha de inicio de
respectivo.
ocupación, la fecha final y la
posición de amarre.
//CLASE ALQUILER
public class alquiler extends barco{
String nombre_cliente;
int DNI;
int fecha_inicio;
int fecha_final;
float posicion_amarre;
20. Creamos el constructor
respectivo.
//CLASE ALQUILER
public class alquiler extends barco{
String nombre_cliente;
int DNI;
int fecha_inicio;
int fecha_final;
float posicion_amarre;
21. Creamos el constructor
respectivo.
//CLASE ALQUILER
public 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;}
23. Asimismo, definimos el método
que calculará el alquiler.
public float precio_alquiler()
{
if(fecha_final>fecha_inicio)
return (((fecha_finalfecha_inicio)+1)*super.modulo());
else
return 0000000000;
}
}
24. Solicitamos los datos necesarios
Listo ya tenemos las clases
necesarias. Ahora generemos la
por consola. Recuerda que
clase principal parala librería
debemos importar probar el
java.útil.Scanner para esto.
resto.
25. Solicitamos los datos necesarios
por consola. Recuerda que
debemos importar la librería
java.útil.Scanner para esto.
26. Solicitamos los datos necesarios
por consola. Recuerda que
debemos importar la librería
java.útil.Scanner para esto.
//CLASE PRINCIPAL
import 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();
28. De acuerdo al número de mástiles
mostramos el precio del alquiler.
alquiler al=new
alquiler(nom,dni,fi,ff,pos_amarre,matric,sl
oran,año_fabr);
tipos_barco tp=new
tipos_barco(mastiles,potencia,camarotes,mat
ric,sloran,año_fabr);
29. De acuerdo al número de mástiles
mostramos el precio del alquiler.
alquiler al=new
alquiler(nom,dni,fi,ff,pos_amarre,matric,sl
oran,año_fabr);
tipos_barco tp=new
tipos_barco(mastiles,potencia,camarotes,mat
ric,sloran,año_fabr);
if (mastiles>0)
{
a=((al.precio_alquiler())*(tp.mostrar()));
System.out.print("el precio del alquiler es
: "+a);
}
}
}
31. Bueno compañero, esto fue todo
por Nos vemos en que la solución
ahora, espero el siguiente
de ejercicio. Hasta pronto.
este ejercicio te haya sido
clara y provechosa.
32. Nos vemos en el siguiente
ejercicio. Hasta pronto.