Foros del Web » Programación para mayores de 30 ;) » Java »

Novato en Java

Estas en el tema de Novato en Java en el foro de Java en Foros del Web. Hola amigos la verdad que estoy recién empezando en esto de java... en mi primera prueba me pasan una hoja y me dicen , defina ...
  #1 (permalink)  
Antiguo 25/04/2011, 22:36
dkr
 
Fecha de Ingreso: junio-2009
Mensajes: 21
Antigüedad: 14 años, 10 meses
Puntos: 0
Pregunta Novato en Java

Hola amigos la verdad que estoy recién empezando en esto de java...

en mi primera prueba me pasan una hoja y me dicen , defina una problemática que implemente estos puntos:

Clase abstracta
Método Abstracto
Interfaces
Clase anidada


la verdad que después de un rato pensar ( y no se me ocurría nada ) me decidí por:

realizare una aplicación que defina figura geométricas y calcule el área de algunas de ellas...

creo que en la aplicación que voy a realizar aplicare interfaces ( figurasgeometricas )
metodos abstractos (calcular el area)

y los otros 2 nose ...
si alguien me pudiera guiar con algo...agradeceria su ayuda ...saludos




bueno ..pasando a codigo para hacerlo mas entendibe :S jajajaj asi tengo definido:

Interface:

public interface FiguraGeometrica
{
public double area ();
}
public class Circulo implements FiguraGeometrica
{
atributosssssss

public double area ()
{
return Math.PI*radio*radio;
}
}


public class Cuadrado implements FiguraGeometrica
{
atributosss
public double area ()
{
return lado*lado;
}
}

Última edición por dkr; 25/04/2011 a las 22:49
  #2 (permalink)  
Antiguo 26/04/2011, 01:08
 
Fecha de Ingreso: noviembre-2002
Ubicación: DF
Mensajes: 1.056
Antigüedad: 21 años, 5 meses
Puntos: 37
Respuesta: Novato en Java

Interface:
para el caso de desarrollar rutinas o clases que seran implementados en diferentes sistemas, como por ejemplo, dentro de un banco, para el caso de que se requiera la factura electronica u otro documento, debera definirse una clase que contenga los siguientes metodos:
- cadena
- datos a facturar
(u otro).

de esta manera, quien desee usar la clase debera hacer el "implements" de la clase interface que desarrollemos de manera que este estandarizado entre los diferentes elementos del software.

Para esto de las interfaces yo siempre pienso en la analogia de una "clavija" y el "contacto", asi, cualquier elemento de programacion que desees "conectar" se requiere que los diferentes objetos (refrigerador, tv, plancha, secadora) contenga o implementen la misma "interfaz" ... es decir.. la clavija.. y la clase funcionara correctamente (alimentar de energia electrica).

De manera que cuando desees crear un nuevo "objeto" (aparato electrico), debes procurar implementar la interfaz "clavija" para que funcione con los otros elementos (contactos).

Saludos
  #3 (permalink)  
Antiguo 26/04/2011, 10:45
dkr
 
Fecha de Ingreso: junio-2009
Mensajes: 21
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Novato en Java

Cita:
Iniciado por wwwmaster Ver Mensaje
Interface:
para el caso de desarrollar rutinas o clases que seran implementados en diferentes sistemas, como por ejemplo, dentro de un banco, para el caso de que se requiera la factura electronica u otro documento, debera definirse una clase que contenga los siguientes metodos:
- cadena
- datos a facturar
(u otro).

de esta manera, quien desee usar la clase debera hacer el "implements" de la clase interface que desarrollemos de manera que este estandarizado entre los diferentes elementos del software.

Para esto de las interfaces yo siempre pienso en la analogia de una "clavija" y el "contacto", asi, cualquier elemento de programacion que desees "conectar" se requiere que los diferentes objetos (refrigerador, tv, plancha, secadora) contenga o implementen la misma "interfaz" ... es decir.. la clavija.. y la clase funcionara correctamente (alimentar de energia electrica).

De manera que cuando desees crear un nuevo "objeto" (aparato electrico), debes procurar implementar la interfaz "clavija" para que funcione con los otros elementos (contactos).

Saludos


Totalmente de acuerdo, entonces cuando necesite crear un objeto ( cuadrado,triangulo,etc..) implementare la interfaz (figurageometrica)...


a lo mejor no es necesario crear una interface, con una clase abstracta igual funciona, pero mi problema , es q necesito implementar los cuatro puntos que puse arriba (ojala sea posible)


saludos y gracias por tu tiempo
  #4 (permalink)  
Antiguo 26/04/2011, 11:30
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Novato en Java

Realmente la relación entre figuras geométricas se corresponde más con la herencia de una clase abstracta FiguraGeometrica.

Como guía sencilla, puedes considerar que la herencia se define con una relación de "es", por ejemplo un triángulo es una figura geométrica, con un método abstracto como puede ser area()

La interfaz, se corresponde más con "hace", y el uso más claro que puedes ver es cuando necesitas herencia múltiple.

Supón que tienes una clase Corredor (hereda de Persona)y otra Coche(hereda de Vehiculo), la relación entre ellos no es muy clara, pero a ti te interesa que los dos tengan un método llamado correr() porque quieres que compitan. Entonces creas una interfaz Competicion con el método correr(), de esa forma tanto Coche como Corredor tienen en común el método que necesitas si implementas la interfaz Competicion.

Es una explicación no muy ortodoxa y no muy correcta, pero vale para que te hagas una idea.

Con respecto a las clases anidadas, me parece un concepto bastante más complejo que los otros dos, y no creo que deban mezclarse.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #5 (permalink)  
Antiguo 26/04/2011, 20:47
dkr
 
Fecha de Ingreso: junio-2009
Mensajes: 21
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Novato en Java

Cita:
Iniciado por Xerelo Ver Mensaje
Realmente la relación entre figuras geométricas se corresponde más con la herencia de una clase abstracta FiguraGeometrica.

Como guía sencilla, puedes considerar que la herencia se define con una relación de "es", por ejemplo un triángulo es una figura geométrica, con un método abstracto como puede ser area()

La interfaz, se corresponde más con "hace", y el uso más claro que puedes ver es cuando necesitas herencia múltiple.

Supón que tienes una clase Corredor (hereda de Persona)y otra Coche(hereda de Vehiculo), la relación entre ellos no es muy clara, pero a ti te interesa que los dos tengan un método llamado correr() porque quieres que compitan. Entonces creas una interfaz Competicion con el método correr(), de esa forma tanto Coche como Corredor tienen en común el método que necesitas si implementas la interfaz Competicion.

Es una explicación no muy ortodoxa y no muy correcta, pero vale para que te hagas una idea.

Con respecto a las clases anidadas, me parece un concepto bastante más complejo que los otros dos, y no creo que deban mezclarse.

buena, gracias te entendí la idea.

me pondré a codificar a ver si llego a algo,
y si es que ando medio colgado en el código, me echas una manito ?

saludos colega
  #6 (permalink)  
Antiguo 27/04/2011, 14:55
dkr
 
Fecha de Ingreso: junio-2009
Mensajes: 21
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Novato en Java

necesito a alguien que me oriente en la programación , tengo la idea , pero estoy demasiado desordenado :(

[email protected] (msn o email)


porfavor , saludos

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:37.