elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Tutorial básico de Quickjs


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Herencia a A desde B,C actualizando valores de A
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Herencia a A desde B,C actualizando valores de A  (Leído 3,325 veces)
cyberserver

Desconectado Desconectado

Mensajes: 162


Lo que una mente crea, otra lo destruye


Ver Perfil WWW
Herencia a A desde B,C actualizando valores de A
« en: 10 Septiembre 2010, 05:21 am »

 :huh: :huh: :huh: :huh: perdon pero no super como ser mas especifico en el titulo del tema. veran esto es lo que quiero hacer:

1.- tengo una super Clase que se llama "SuperClase" y tiene una variable publica llamada Valor
Código
  1. class SuperClase{
  2. public int Valor=0;
  3. }
  4.  

2.- Tengo dos SubClases que heredan de "SuperClase" llamadas "SubClase1" y "SubClase2"
Código
  1. class SubClase1 extends SuperClase{
  2. public void ValorSubClase(){
  3. JOptionPane.showMessageDialog(null,"Valo: "+ Valor);
  4. }
  5. }
  6. class SubClase2 extends SuperClase{
  7. public void ValorSubClase(){
  8. JOptionPane.showMessageDialog(null,"Valo: "+ Valor);
  9. }
  10. }
  11.  

3.- Ahora desde el Main instancio a las 2 clases que heredan de "SuperClase"
Código
  1. public static void  main (String[] args)  {
  2.  
  3. SubClase1 objeto1=new SubClase1();
  4. SubClase2 objeto2=new SubClase2();
  5. }
  6.  

4.- Con JOptionPane pido que me muestre el la variable Valor
Código
  1. public static void  main (String[] args)  {
  2.  
  3. SubClase1 objeto1=new SubClase1();
  4. SubClase2 objeto2=new SubClase2();
  5.  
  6. JOptionPane.showMessageDialog(null,"Valor :nstancia uno "+ objeto1.Valor);
  7. }
  8.  

Esto me da como mensaje un 0 que es el valor de la variable Valor

5.- Ahora y el problema es que desde el objeto1 Cambio el valor de la Variable Valor por 1.
Pero cuando desde el objeto2 llamo a la variable Valor me muestra 0 en lugar del 1 que se asigne....  :huh: :huh: :huh:

Código
  1. public class main{
  2. public static void  main (String[] args)  {
  3.  
  4. SubClase1 objeto1=new SubClase1();
  5. SubClase2 objeto2=new SubClase2();
  6.  
  7. JOptionPane.showMessageDialog(null,"Valor :nstancia uno "+ objeto1.Valor);
  8. objeto1.Valor=1;
  9.  
  10. JOptionPane.showMessageDialog(null,"Valor instancia dos: "+ objeto2.Valor);
  11. }
  12.  
  13.  

Quiza este mal mi implementacion de la herencia pero es lo que entiendo al ver estas imagenes alusivas:
Quiero entender que las subclases heredan de la super clase y si un valor cambiar en esta TODAS las subclases lo tendrian presente.!
----------------------------------------------------------------------------------
 De lo contrario si no es asi como puedo obtener el Valor ACTUALIZADO de la Variable Valor desde cualquier clase que instancie o herede de ella???????

De antemano Gracias.!!



En línea






1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Herencia a A desde B,C actualizando valores de A
« Respuesta #1 en: 10 Septiembre 2010, 06:29 am »

Hola, no soy muy bueno explicando pero espero que este ejemplo te ayude a entender.

Código
  1. public class Abuelo {
  2. public int dedos=20;
  3. }
  4.  

Código
  1. public class Papa extends Abuelo {
  2.  
  3. }
  4.  

Código
  1. public class Tio extends Abuelo {
  2.  
  3. }
  4.  

Código
  1. import javax.swing.JOptionPane;
  2.  
  3. public class Main {
  4.  
  5. public static void main(String args[]) {
  6. Papa manoPapa = new Papa();
  7. Tio manoTio = new Tio();
  8.  
  9. JOptionPane.showMessageDialog(null,"Mi papa tiene "+ manoPapa.dedos +" dedos");
  10. manoPapa.dedos=10;
  11. JOptionPane.showMessageDialog(null,"Mi tio tiene "+ manoTio.dedos +" dedos");
  12. //JOptionPane.showMessageDialog(null,"Mi papa tiene "+ manoPapa.dedos +" dedos");
  13.  
  14. }
  15.  
  16. }
  17.  

Solo espero no causar mas lios! xD


Un saludo


En línea

abc
Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Herencia a A desde B,C actualizando valores de A
« Respuesta #2 en: 10 Septiembre 2010, 17:23 pm »

Piensa que cada vez que instancies una clase esta re-creando todas las variables de instancia que esta contiene, dos objetos distintos, propiedades desiguales...

Saludos
En línea

cyberserver

Desconectado Desconectado

Mensajes: 162


Lo que una mente crea, otra lo destruye


Ver Perfil WWW
Re: Herencia a A desde B,C actualizando valores de A
« Respuesta #3 en: 10 Septiembre 2010, 22:03 pm »

Hola.

Darhius gracias por tu ejemplo pero corrovora lo que dice Debci....

Pero no existe una forma de enlazarlas como yo quiero? que las subclases estan atentas de cualquier modificacion de la super clase...!!!!

En línea






Xedrox

Desconectado Desconectado

Mensajes: 274



Ver Perfil
Re: Herencia a A desde B,C actualizando valores de A
« Respuesta #4 en: 10 Septiembre 2010, 22:22 pm »

Código:
public class main{
public static void  main (String[] args)  {
 
SubClase1 objeto1=new SubClase1();
SubClase2 objeto2=new SubClase2();
 
JOptionPane.showMessageDialog(null,"Valor :nstancia uno "+ objeto1.Valor);
objeto1.Valor=1;
 
JOptionPane.showMessageDialog(null,"Valor instancia dos: "+ objeto2.Valor);
}

Hola, por supuesto que te vuelve a mostrar 0, si estas mostrando en la segunda vez en objeto2 y vos le asignaste "1" al objeto1.
En línea

Xedrox

Desconectado Desconectado

Mensajes: 274



Ver Perfil
Re: Herencia a A desde B,C actualizando valores de A
« Respuesta #5 en: 10 Septiembre 2010, 22:24 pm »

Hola.

Darhius gracias por tu ejemplo pero corrovora lo que dice Debci....

Pero no existe una forma de enlazarlas como yo quiero? que las subclases estan atentas de cualquier modificacion de la super clase...!!!!



Podes usar el modificador "static" para los datos miembros. Esto hace que todos los objetos de una misma clase o subclase vean y modifiquen el mismo dato miembro. Te recomiendo que busques mas información acerca de ese modificador.
En línea

cyberserver

Desconectado Desconectado

Mensajes: 162


Lo que una mente crea, otra lo destruye


Ver Perfil WWW
Re: Herencia a A desde B,C actualizando valores de A
« Respuesta #6 en: 10 Septiembre 2010, 22:31 pm »

Citar
Podes usar el modificador "static" para los datos miembros. Esto hace que todos los objetos de una misma clase o subclase vean y modifiquen el mismo dato miembro. Te recomiendo que busques mas información acerca de ese modificador.


AAAAAAAA no manches.... Xedrox!!!!! eso es todo funciona perfectamente.....mira aqui es codigo..!!!

Código
  1. import javax.swing.*;
  2.  
  3.  
  4. public class main{
  5. public static void  main (String[] args)  {
  6.  
  7. SubClase1 objeto1=new SubClase1();
  8. SubClase2 objeto2=new SubClase2();
  9.  
  10. JOptionPane.showMessageDialog(null,"Valor :nstancia uno "+ objeto1.Valor);
  11. objeto1.Valor=1;
  12.  
  13. JOptionPane.showMessageDialog(null,"Valor instancia dos: "+ objeto2.Valor);
  14. JOptionPane.showMessageDialog(null,"Valor :nstancia uno "+ objeto1.Valor);
  15. }
  16.  
  17. }
  18. class SuperClase{
  19. public static int Valor;
  20. }
  21. class SubClase1 extends SuperClase{
  22. public void ValorSubClase(){
  23. JOptionPane.showMessageDialog(null,"Valo: "+ Valor);
  24. }
  25. }
  26. class SubClase2 extends SuperClase{
  27. public void ValorSubClase(){
  28. JOptionPane.showMessageDialog(null,"Valo: "+ Valor);
  29. }
  30. }

Mil Gracias!!!!... amigo
En línea






Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines