Buenas tardes. Estoy haciendo DAW y empieza a complicarse el asunto y estoy algo perdido. Os pego la parte del enunciado y que no entiendo resaltado en negrita:
Ahí me pierdo, no entiendo que quiere decir "tipo Cliente". Osea, debe de ser que ese atributo sea la clase entera llamada "Cliente". Os pongo lo que he hecho hasta ahora:
Clase "Cliente":
y la clase "Cuenta":
Agradeceria una pista, llevo dias atascado!
CitarEn esta tarea se van a realizar un conjunto de clases que permitan modelar las distintos tipos de cuentas que una persona puede tener en un banco, haciendo uso del mecanismo de herencia. Los puntos que se deben tratar para resolver la tarea son:
Crear un proyecto en NetBeans denominado, "CuentasBancarias".
Dentro de dicho proyecto, crear un paquete denominado "modeloBancario".
Dentro del paquete "modeloBancario", crear una clase denominada Cliente, que modele los distintos clientes del banco que tienen una cuenta asociada para almacenar su dinero. Las características de la clase Cliente son:
Atributos (Todos los atributos de la clase Cliente deben tener visibilidad privada):
idCliente: número entero que representa el identificador único del cliente dentro del banco.
nombre: cadena de caracteres que representa el nombre del cliente del banco.
direccion: cadena de caracteres que representa la dirección donde vive el cliente del banco.
teléfono: cadena de caracteres que representa el teléfono que permite contactar con el cliente.
Métodos (Todos los métodos de la clase Cliente deben tener visibilidad pública):
constructor sin parámetros: constructor que inicializa todos los atributos de tipo cadenas de caracteres al valor null y los números enteros a 0.
constructor con parámetros: constructor que tienen tantos parámetros como atributos tiene la clase, y que inicializa cada uno de los atributos con el valor de los parámetros correspondientes.
Dentro del paquete "modeloBancario", crear una clase abstracta denominada "Cuenta", que modele las distintas cuentas bancarias que mantiene la entidad financiera donde los clientes depositan su dinero.
Atributos (Todos los atributos de la clase Cuenta deben tener visibilidad protegida)
numeroDeCuenta: número entero que representa el identificador único asociado a cada una de las cuentas del banco.
saldo: número real que representa la cantidad de dinero almacenado en dicha cuenta.
titular: atributo de tipo Cliente que representa la persona que está asociada a dicha cuenta.
Métodos (Todos los métodos de la clase Cuenta deben tener visibilidad pública)
constructor sin parámetros: constructor que inicializa el cliente titular de la cuenta a null, y el saldo y el número de cuenta a cero.
constructor con parámetros: constructor que tienen tantos parámetros como atributos tiene la clase, y que inicializa cada uno de los atributos con el valor de los parámetros correspondientes.
getNumeroDeCuenta: método que permite obtener el número de cuenta.
getSaldo: método que permite obtener el saldo de la cuenta.
getTitular: método que permite obtener el titular de la cuenta
setNumeroDeCuenta: método que recibe un parámetro entero que representa el nuevo número de cuenta que se desea asignar y asigna parámetro el valor de dicho al atributo numeroDeCuenta.
setSaldo: método que recibe un parámetro entero que representa el nuevo saldo que se desea asignar y asigna parámetro el valor de dicho al atributo saldo.
setTitular: método que recibe un parámetro Cliente que representa el nuevo titular que se desea asignar y asigna parámetro el valor de dicho al atributo titular.
ingresar: recibe un parámetro real que representa la cantidad que se desea ingresar en la cuenta. El método incrementará el saldo en la cantidad recibida como parámetro.
retirar: método abstracto que permitirá sacar una cantidad de la cuenta (si hay saldo disponible para ello), no se implementará ya que dependerá del tipo de cuenta, por tanto su implementación recaerá en las clases hijas.
actualizarSaldo: método abstracto que actualizará el saldo de la cuenta, dependiendo del tipo de interés de cada una de las cuenta, por tanto su implementación recaerá en las clases hijas.
Ahí me pierdo, no entiendo que quiere decir "tipo Cliente". Osea, debe de ser que ese atributo sea la clase entera llamada "Cliente". Os pongo lo que he hecho hasta ahora:
Clase "Cliente":
Código (java) [Seleccionar]
package modeloBancario;
public class Cliente {
private int idCliente;
private String nombre;
private String direccion;
private String telefono;
public Cliente (){
}
public Cliente (int idCliente, String nombre, String direccion, String telefono){
this.idCliente = idCliente;
this.nombre = nombre;
this.direccion = direccion;
this.telefono = telefono;
}
public int getIdCliente(){
return idCliente;
}
public void setIdCliente(int idCliente){
this.idCliente = idCliente;
}
public String getNombre(){
return nombre;
}
public void setNombre(String nombre){
this.nombre = nombre;
}
public String getDireccion(){
return direccion;
}
public void setDireccion(String direccion){
this.direccion = direccion;
}
public String getTelefono(){
return telefono;
}
public void setTelefono(String telefono){
this.telefono = telefono;
}
}
y la clase "Cuenta":
Código (java) [Seleccionar]
package modeloBancario;
public abstract class Cuenta {
protected int numeroDeCuenta;
protected double saldo;
protected Cliente titular;
public Cuenta(){
numeroDeCuenta = 0;
saldo = 0;
titular ();
}
}
Agradeceria una pista, llevo dias atascado!