Estoy haciendo un trabajo para el curso que estoy estudiando y ha llegado un punto en que no se como continuar. Le he preguntado varias veces al profesor y cada vez me dice una cosa distinta como escurriendo el bulto, asi que acudo a la comunidad, que es sabia y curtida en programación.
He aqui los ejercicios:
1. Hacer en Java la definición de una classe llamada Vehiculo. Hace falta escoger correctamente el modificador de accesibilidad y visibilidad de todos los datos y operaciones.
Atributos:
- Marca y modelo (cadena de carácteres)
- Fecha de compra (fecha)
- Matrícula (cadena de carácteres)
- Consumo, en litros por quilómetre (real)
- nombreVehiculos (entero)
Operaciones:
- Firma del constructor de la clase:
Vehiculo ( fabricante:Cadena, mod:Cadena, cad_matr:Cadena, num_matr:entero, consumo:real, fechaCompra:Fecha)
- Para cada atributo nos hará falta un método para la obtención de su valor.
- Un método que permita calcular la autonomia del vehiculo, és decir, devuelve los kilometros que se pueden hacer con una cantidad de carburante.
- Un método que devuelve los dias que hace que se compró el vehiculo.
- Un método que nos devuelve el numero total de objetos de la clase Vehiculo creados.
2. Definir por herencia la clase Coche (un Vehiculo que lleva gente).
- Los nuevos atributos son:
- Número de plazas (entero)
- Extras de confort (cadena de carácteres)
- Numero total de coches creados
Los métodos seran:
- Constructor con la firma siguiente,
Coche ( fabricante:Cadena, mod:Cadena, año:entero, cad_matr:entero, num_matr:entero, consumo:real, plazas:entero, extras:Cadena)
- Por cada nuevo atributo nos haran falta los métodos accesores correspondientes
- Un método que permita añadir un extra, a los que ya tiene el coche
- Un método que nos dice el numero total de coches creados.
Pues bien, el caso es que no se que hacer con los atributos del ejercicio 2 en negrita, ya que no se como obtener un tipo de datos que no es el que le paso. No se si me explico. Me piden año:entero, cad_matr:entero, cuando en el ejercicio anterior era fechaCompra:Fecha , cad_matr:Cadena... No se muy bien que hacer.
Esta es la situación:
SuperClase Vehiculo:
Código:
public class Vehiculo {
private String marca;
private String modelo;
private Date fecha;
private String matricula;
private double cons; // (L/km)
private int nombreVehiculos;
private static double autonomia;
private static String diasDeCompra;
private static int numeroDeVehiculos; // variable contadora de objeto vehiculo
//Operaciones
public Vehiculo(String fabricante, String mod, Date fechaCompra,
String cad_matr, double consumo, int num_matr){
marca = fabricante;
modelo = mod;
fecha = fechaCompra;
matricula = cad_matr;
cons = consumo;
nombreVehiculos = num_matr;
numeroDeVehiculos++; //incremento de la variable contadora de objeto vehiculo
}
SubClase Coche:
Código:
public class Coche extends Vehiculo {
private int numPlazas;
private String extra_confort;
private int numCoches;
private static int numeroDeCoches;
private static String extrasCoches;
private static int anyo;
public Coche(String fabricante, String mod, Date fechaCompra, String cad_matr, double consumo, int num_matr, int plazas, String extras) {
super(fabricante, mod, fechaCompra, cad_matr, consumo, num_matr);
numPlazas = plazas;
extra_confort = extras;
numeroDeCoches++;
}
EL PROBLEMA LO TENGO QUE AL USAR super NO PUEDO TOCAR EL ATRIBUTO cad_matr PARA QUE PASE A integer... O al menos no se como.
ESPERO QUE CON EL CODIGO SEA COMPRENSIBLE Y ALGUIEN SEPA AYUDARME.
Gracias de antemano!