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

[SOLUCIONADO] heredar un metodo creado en una aplicacion swing

Estas en el tema de heredar un metodo creado en una aplicacion swing en el foro de Java en Foros del Web. Buenas tardes tengo una pregunta supongamos que tengo una aplicación de sumar números con textfiel y buttons creada arrastrando objetos mas no a solo código ...
  #1 (permalink)  
Antiguo 10/07/2013, 15:12
 
Fecha de Ingreso: mayo-2013
Ubicación: bogota
Mensajes: 157
Antigüedad: 11 años, 7 meses
Puntos: 2
heredar un metodo creado en una aplicacion swing

Buenas tardes tengo una pregunta

supongamos que tengo una aplicación de sumar números con textfiel y buttons creada arrastrando objetos mas no a solo código (uso netbeans) y dentro de esa aplicación tengo un método que se llama sumar(). Ejemplo

Código Java:
Ver original
  1. public class sumarNumeros extends javax.swing.JFrame{
  2.  
  3.     void sumar(){
  4.         int a=Integer.parseInt(this.txtprimero.getText());//textField que resive el primer #
  5.         int b=Integer.parseInt(this.txtsegundo.getText());//recibe el segundo #
  6.         int c=a+b;
  7.         String d=integer.toString(c);//obtiene el resultado
  8.         this.resultado.setText(d);
  9.     }
  10.  
  11. }
y quiero desde otra interfaz heredar este metodo (sumar()) para reutilizarlo, pero no me deja por que cuando creo una clase JFRAME , esta nueva clase hereda la interfaz swing, y la herencia multiple no existe en java, Ejemplo

public class Vcodigos_gastos extends javax.swing.JFrame {}

y para que me entiendan mejor lo que quiero es hacer algo asi

public class Vcodigos_gastos extends javax.swing.JFrame, sumarNumeros {}

para poder utilizar el metodo sumar() sin necesidad de crear el mismo en esta clase.


Agradezco a quien me ayude a resolver esta duda.

Última edición por razpeitia; 10/07/2013 a las 16:01
  #2 (permalink)  
Antiguo 10/07/2013, 16:19
(Desactivado)
 
Fecha de Ingreso: abril-2013
Mensajes: 70
Antigüedad: 11 años, 8 meses
Puntos: 5
Respuesta: heredar un metodo creado en una aplicacion swing

En primer lugar tu logica no deberia estar atada a ningun control de la pantalla. Es una pesima forma de programar la que estas usando.

Deberias poner tu logica en algun servicio o clase reutilizable especificamente dedicada a logica, y no en controles de la pantalla.

En segundo lugar si A hereda de B y B hereda de C entonces A tambien hereda de C, o mejor dicho

class ClaseB: ClaseA
{
...
}

class ClaseC: ClaseB
{
...
}

Todo lo que este definido en A va a estar disponible en C tambien porque C sigue siendo subtipo de A tanto como B. Se entiende?
  #3 (permalink)  
Antiguo 10/07/2013, 20:57
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: heredar un metodo creado en una aplicacion swing

Concuerdo con HighCore, tiene lógica de varias capas atadas en un solo lugar.

Puedes usar patrones como MVP o MVC para implementar una aplicación seria. Incluso existen frameworks que ya implementan esto y están listo para ser usados.

Otra cosa es que veo que estas empezando, porque tu no heredas de una interfaz tu implementas de una interfaz. Probablemente no tienes conceptos muy claros POO, te recomiendo estudiar un poco mas la parte teórica y ver muchos ejemplos.

Código Java:
Ver original
  1. public interface Suma {
  2.     void sumar();
  3. }
  4.  
  5. public class sumarNumeros extends javax.swing.JFrame implements Suma{
  6.  
  7.     void sumar(){
  8.         int a=Integer.parseInt(this.txtprimero.getText());//textField que resive el primer #
  9.         int b=Integer.parseInt(this.txtsegundo.getText());//recibe el segundo #
  10.         int c=a+b;
  11.         String d=integer.toString(c);//obtiene el resultado
  12.         this.resultado.setText(d);
  13.     }
  14.  
  15. }

Lo que haces con una interfaz es delegar la implementación y asegurarte que cierto objeto tenga los métodos de la interfaz. Pero como dices que quieres reusarlo no creo que esto es lo que estés buscando.

Una opción es como te dice HigCore e implementar 2 clases, pero en POO te recomiendan usar Composición en lugar de Herencia siempre que sea posible.

Etiquetas: aplicacion, clase, creado, heredar, metodo, netbeans, string, swing
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 14:05.