Ver Mensaje Individual
  #5 (permalink)  
Antiguo 16/08/2008, 10:18
Avatar de diegoy2k
diegoy2k
 
Fecha de Ingreso: julio-2006
Ubicación: Algun Lugar
Mensajes: 68
Antigüedad: 17 años, 10 meses
Puntos: 0
Respuesta: Herencia, y duda de intancia.

Hola andrea55, como va?

A ver vamos por parte, espero poder aclararte algo.

El ArrayList contiene objetos del tipo Object, ahi podes meter lo que quieras, la cuestion es estoy trayendo datos desde la base y es ahi donde yo se que tipo son, por ejemplo tarifaTaxi o tarifaTren, (si bien no es buena politica usar sentencias condicionales " if", en Objetos a veces no queda otra alternativa que usarlas).
Entonces lo que podes hacer es, a medida que vas recuparando datos desde la base:
Código:
if(elDatoDeLaBase==tarifaTaxi){
  TipoTarifa tT=new TipoTarifaTaxi();
  tT.setValoruno...;
  tT.setValordos...;
  .
  .
  .
  ArrayList.add(tT) //aca va el nombre del ArrayList!!!
}
if(elDatoDeLaBase==tarifaTren){
  TipoTarifa tT=new TipoTarifaTaxi();
  tT.setValoruno...;
  tT.setValordos...;
  .
  .
  .
  ArrayList.add(tT) //aca va el nombre del ArrayList!!!
}
y asi con cada tipo, fijate que podrias hacer que ciartas cosas sean mas genericas
y no repetir tanto codigo.

Esto de poder guardar cualquier tipo de objeto dentro del ArrayList, es gracias a lo que se denomina "Polimorfismo".
Por otro lado el hecho de sacar objetos de un contenedor de object como ArrayList es posible debido a la caracteristica denominada "BindingDinamico", el cual vincula objetos en tiempo de ejecucion.

Lo que si te recominedo, en que tus clases inplementen la interface "Comparable", la cual te exige que implementes el metodo compareTo(Object), ya que de esta es una manera correcta de comparar objetos en una logica de negocios orientada a objetos.

Bueno espero ayudarte!!! Saludos!