Autor Tema: CU00684B herencia y cómo poner nombre a las clases en Java  (Leído 5263 veces)

momo

  • Principiante
  • **
  • Mensajes: 64
    • Ver Perfil
Citar
Se plantea desarrollar un programa Java que permita la gestión de una empresa agroalimentaria que trabaja con tres tipos de productos: productos frescos, productos refrigerados y productos congelados. Todos los productos llevan alguna información común como fecha de caducidad y número de lote, pero a su vez cada tipo de producto lleva alguna información específica, por ejemplo los productos congelados deben llevar la temperatura de congelación recomendada. Hay tres tipos de productos congelados: congelados por aire, congelados por agua y congelados por nitrógeno.

La empresa gestiona envíos a través de diferentes medios, y un envío puede contener cierto número de productos frescos, refrigerados o congelados. Identificar las 7 clases Java principales que podemos identificar dada la forma de funcionamiento de la empresa. Crear un esquema con las relaciones de herencia y/o uso entre las distintas clases.

Puedes comprobar si tu respuesta es correcta consultando en los foros aprenderaprogramar.com.

Diagrama de clases adjunto (ver imagen estando logeado en el foro)

« Última modificación: 19 de Octubre 2014, 21:24 por Alex Rodríguez »

Jorge lopez

  • Sniper
  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 248
  • @SniperOfElite
    • Ver Perfil
Re:CU00684B
« Respuesta #1 en: 16 de Octubre 2014, 21:34 »
 El diagrama se ve bien estructurado en relación al uso y a la herencia (extends) de clases.

Entre lo poco a comentar están los nombres de clases:

ProductosAgroalimentario - seria mas apropiado ProductoAgroalimentario. (No es recomendable usar plural).

CongeladoPorAgua, CongeladoPorAire y CongeladoPorNitrogeno. Es preferible indicar que también se trata de un Producto, algunos ejemplos de nombres correctos podrían ser:  ProdCongeladoPorAgua, ProdAgricCongeladoPorAire PACongeladoPorNitrogeno

Saludos!
while(estesVivo)
{
  aprende();
  ayuda();
  enseña();
}
if(mueres){teRecordaran();}

momo

  • Principiante
  • **
  • Mensajes: 64
    • Ver Perfil
Re:CU00684B
« Respuesta #2 en: 16 de Octubre 2014, 22:07 »
Hola Jorge.

Bueno e Visto que has visto varios de los temas que publique, que por cierto me gustaría que vieras el ultimo tema donde se plantea el ejercicio de herencia CU00686B .

Gracias por tus recomendaciones. bueno con respecto a los nombre de la clase ProductosAgroAlimentario no sabia que no era recomendable trabajar en plural coloque el nombre de esa manera pensando  que como estaba trabajando con varias productos seria el apropiado.

de nuevo Muchas gracias Amigo.


Jorge lopez

  • Sniper
  • Intermedio
  • ***
  • APR2.COM
  • Mensajes: 248
  • @SniperOfElite
    • Ver Perfil
Re:CU00684B
« Respuesta #3 en: 16 de Octubre 2014, 23:44 »
 Intentare explicarte el porque no es recomendable pluralizar el nombre de una clase en POO.
(Programación Orientada  a Objetos)

El poder comprender el "porque?" Es algo de logica. Imagina que estas trabajando con una clase "Personas"  y que necesitas un objeto de esta clase "Personas" por lo cual mediante una sentencia: Personas persona1 = new Personas(); creas dicho objeto.

Ahora te hago las siguientes preguntas:

1: Si el nombre de la clase es "Personas", porque el nombre del objeto no es "personas1"?

2: Cuantos objetos tipo Personas se pueden crear a su vez usando la palabra clave new?

3: Aunque podemos crear cuantos objetos tipo Personas queramos. Se crean todos juntos o uno por uno e independientemente?

Lo que se debe de entender es que una clase define un objeto a la vez
(un nuevo objeto en cada invocación a un constructor mediante la palabra clave new) y que se crea un objeto Persona, no varios objetos Personas, por lo tanto lo lógico seria asignar como nombre el singular de la palabra "Personas" ("Persona")

Esto podría confundir, pero no te preocupes si no lo entiendes ahora, según crecemos como programadores algunas dudas que generamos se responden prácticamente "solas"

Respecto a tu ejercicio correspondiente a la entrega CU00686B, lo estoy verificando  ;)

Saludos!
while(estesVivo)
{
  aprende();
  ayuda();
  enseña();
}
if(mueres){teRecordaran();}

momo

  • Principiante
  • **
  • Mensajes: 64
    • Ver Perfil
Re:CU00684B
« Respuesta #4 en: 17 de Octubre 2014, 19:08 »
1: Si el nombre de la clase es "Personas", porque el nombre del objeto no es "personas1"?

Resp: Bueno aqui ya diria que es la costumbre que  uno tiene  en crear una clase (Personas) y declarar el objeto del objeto como (persona1)  ya entendi el por que no se deben
pluralizar el nombre de una clase poo

2: Cuantos objetos tipo Personas se pueden crear a su vez usando la palabra clave new?

Resp :Una clase Define un objeto a la vez.

3: Aunque podemos crear cuantos objetos tipo Personas queramos. Se crean todos juntos o uno por uno e independientemente?

Resp: Se pueden crear varios objetos tipo persona la cantidad que queramos pero  se crean uno por uno no podemos crearlo todos a la vez.



Gracias amigo por aclararme el por que no se deben pluralizar los nombre de la clase

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".