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

Me podrían ayudar a entender este codigo

Estas en el tema de Me podrían ayudar a entender este codigo en el foro de Java en Foros del Web. Me podrían ayudar a entender este codigo public class casa { static void main(String args[]) { Shirt myShirt; myShirt =new Shirt(); myShirt.displayInformacion(); } } según ...
  #1 (permalink)  
Antiguo 28/03/2014, 01:09
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Me podrían ayudar a entender este codigo

Me podrían ayudar a entender este codigo

public class casa
{
static void main(String args[])
{
Shirt myShirt;
myShirt =new Shirt();
myShirt.displayInformacion();
}
}

según yo entiendo esto de Shirt myShirt;
para mi Shirt es una clase y myShir una variable
y como myShir es una variable la ocupa para instanciar .
mi pregunta esto es correcto
o es de otra forma, ya que no entiendo
  #2 (permalink)  
Antiguo 28/03/2014, 01:21
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 3 meses
Puntos: 22
Respuesta: Me podrían ayudar a entender este codigo

Cita:
Iniciado por jor_0203 Ver Mensaje
según yo entiendo esto de Shirt myShirt;
para mi Shirt es una clase y myShir una variable
y como myShir es una variable la ocupa para instanciar .
mi pregunta esto es correcto
o es de otra forma, ya que no entiendo
Si es correcto, declaras una variable de tipo Shirt (Shirt myShirt;)que inicialmente está vacía, (por defecto apunta a null) la cual puede almacenar objetos de tipo Shirt o subclases.

y posteriormente le asignas un objeto de tipo Shirt. (myShirt =new Shirt();)
  #3 (permalink)  
Antiguo 28/03/2014, 01:55
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: Me podrían ayudar a entender este codigo

Cita:
Iniciado por rgf1987 Ver Mensaje
Si es correcto, declaras una variable de tipo Shirt (Shirt myShirt;)que inicialmente está vacía, (por defecto apunta a null) la cual puede almacenar objetos de tipo Shirt o subclases.

y posteriormente le asignas un objeto de tipo Shirt. (myShirt =new Shirt();)
pero porque lo hace así
es decir para eso hay herencia o abstracciones o interfaces
porque llamarlo directo, pienso que esta mal
aunque realmente no se
es decir cual es la diferencia entre llamarlo directo y llamarlo como se usa en herencia
gracias
  #4 (permalink)  
Antiguo 28/03/2014, 05:16
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 3 meses
Puntos: 22
Respuesta: Me podrían ayudar a entender este codigo

Cita:
Iniciado por jor_0203 Ver Mensaje
pero porque lo hace así
es decir para eso hay herencia o abstracciones o interfaces
porque llamarlo directo, pienso que esta mal
aunque realmente no se
es decir cual es la diferencia entre llamarlo directo y llamarlo como se usa en herencia
gracias
No entiendo lo que estás preguntando

Ese código simplemente crea una instancia de una clase y almacena la referencia a ese objeto en una variable.

Cita:
Iniciado por jor_0203 Ver Mensaje
llamarlo como se usa en herencia
Que quieres decir con esto. Ejemplo jaja
  #5 (permalink)  
Antiguo 29/03/2014, 02:38
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: Me podrían ayudar a entender este codigo

Cita:
Iniciado por rgf1987 Ver Mensaje
No entiendo lo que estás preguntando

Ese código simplemente crea una instancia de una clase y almacena la referencia a ese objeto en una variable.



Que quieres decir con esto. Ejemplo jaja






te explico mira los ejemplos
Código Java:
Ver original
  1. public class casa
  2. {
  3. static void main(String args[])
  4. {
  5. Shirt myShirt;
  6. myShirt =new Shirt();
  7. myShirt.displayInformacion();
  8. }
  9. }

si te fijas llamo a la clase asi myShirt =new Shirt();
pero porque, si es tan fácil llamar a una clase adentro de un método entonces
no necesito esto de herencia
public class Herencia extends ClaseHeredada{

}
según entiendo yo, esto
  #6 (permalink)  
Antiguo 29/03/2014, 12:42
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: Me podrían ayudar a entender este codigo

public class casa
{
static void main(String args[])
{
Shirt myShirt;
myShirt =new Shirt();
myShirt.displayInformacion();
}
}

si se fijan en este ejemplo y en muchos mas, se puede llamar a la clase así myShirt =new Shirt();
desde adentro de una clase
pero si la puedo llamar así, cual es el sentido para llamarlo por herencia o abstracion o interface
ya que lo puedo llamar adentro de una clase y no necesito de esto.
por ejemplo, creo que no tiene sentido usar la herencia

public class Herencia extends ClaseHeredada{

}
según entiendo, esto es lo que me confunde, ya que podemos estar llamándolas desde cualquier método sin necesitar de la palabra extends o etc en la clase
  #7 (permalink)  
Antiguo 30/03/2014, 11:06
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 3 meses
Puntos: 22
Respuesta: Me podrían ayudar a entender este codigo

Estas confundiendo términos, la herencia se utiliza para representar que una clase es una extensión de otra, es decir, que una clase es igual a otra añadiendo particularidades únicas en la clase que hereda.

En este enlace tienes un ejemplo de herencia:

http://codigomaldito.blogspot.com.es...a-en-java.html
  #8 (permalink)  
Antiguo 30/03/2014, 15:37
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: Me podrían ayudar a entender este codigo

Cita:
Iniciado por rgf1987 Ver Mensaje
Estas confundiendo términos, la herencia se utiliza para representar que una clase es una extensión de otra, es decir, que una clase es igual a otra añadiendo particularidades únicas en la clase que hereda.

En este enlace tienes un ejemplo de herencia:

http://codigomaldito.blogspot.com.es...a-en-java.html
si entiendo eso, eso mi no me da ruido, lo que me doy cuenta que que si instanceo adentro de una clase con eso llamo a sus atributos y si eso se puede hacer entonces
lo que hacemos de herencia o lo de interfaces para usar métodos no es tan necesario, eso es lo que me llama la atencion
  #9 (permalink)  
Antiguo 30/03/2014, 15:59
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 3 meses
Puntos: 22
Respuesta: Me podrían ayudar a entender este codigo

La herencia en java podríamos decir que se utiliza para estructura el código de una manera más eficiente.

Si en ese ejemplo que te pase, la clase Ciudadano no heredase de la clase Humano, estaríamos en la obligación de replicar los atributos y sus respectivos métodos en ambas clases, por lo tanto estás duplicando código, lo cual no es eficiente.

Por lo tanto se aplica herencia, pero la manera de instanciar las clases no cambia...

No se si no estoy entendiendo lo que tu estás preguntando, o no me explico yo bien... como crees que debería quedar el código de ese ejemplo, a tu manera de ver, sin utilizar herencia....
  #10 (permalink)  
Antiguo 31/03/2014, 00:52
Avatar de jor_0203  
Fecha de Ingreso: octubre-2011
Ubicación: mexico
Mensajes: 760
Antigüedad: 12 años, 6 meses
Puntos: 8
Respuesta: Me podrían ayudar a entender este codigo

Cita:
Iniciado por rgf1987 Ver Mensaje
La herencia en java podríamos decir que se utiliza para estructura el código de una manera más eficiente.

Si en ese ejemplo que te pase, la clase Ciudadano no heredase de la clase Humano, estaríamos en la obligación de replicar los atributos y sus respectivos métodos en ambas clases, por lo tanto estás duplicando código, lo cual no es eficiente.

Por lo tanto se aplica herencia, pero la manera de instanciar las clases no cambia...

No se si no estoy entendiendo lo que tu estás preguntando, o no me explico yo bien... como crees que debería quedar el código de ese ejemplo, a tu manera de ver, sin utilizar herencia....
ya casi me entiendes
lo que pasa es que se me ocurrió que si puedo instanciar directo
puedo no usar ni herencia ni nada de lo que es programación POO
y si se puede hacer estos llamados directos de otra clase sin usar
ni herencia puede funcionar para llamar desde una clase a otra
aunque entiendo que esta mal y no se el porque,.

Etiquetas: clase, entender, variable
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 18:11.