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

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Duda sobre hilos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda sobre hilos  (Leído 2,119 veces)
arts

Desconectado Desconectado

Mensajes: 103


Ver Perfil
Duda sobre hilos
« en: 5 Noviembre 2013, 18:14 pm »

Tengo una duda en un ejemplo el cual me cuesta mucho ver.
No entiendo esta línea que se realiza dentro de static void main(String[] args): Throw hilo = new Mihilo("hilo1");
Se supone que Mihilo tiene un extends de Throw con un constructor que recibe una String y un método run() que muestra un mensaje, y no entiendo como al hacer una instancia del tipo Throw llamada hilo instanciándose a Mihilo y pasándole la cadena funciona. No entiendo porque esto no da problemas, es decir si pongo Int x = new String("pepe"); se entiende que pepe no es un número por lo tanto el espacio de memoria de int es imposible que pueda acceder a String(); y al parecer en el ejemplo de Thorw hilo = new Mihilo("hilo1); no da ningún problema :/
¿ Por que es compatible esto último ?



En línea

egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: Duda sobre hilos
« Respuesta #1 en: 5 Noviembre 2013, 18:38 pm »

Creo que tu pregunta va más dirigida con lo que ocurre con la memoria, más que con la herencia en sí.

Bueno como bien sabes existen los tipos primitivos (int, char, byte) y los objetos.
Enfocándonos a los objetos, estos no son como los structs en C. Para partir todos los objetos en realidad son punteros (nada nuevo si vienes de C o C++) entonces sin aplicar ninguna seguridad ni comprobar tipos aplicaciones como estas son completamente validas String a = new Integer(10) o Integer b = new String("hola") esto es debido porque ambos son punteros y su tamaño en memoria son 4 bytes (depende arquitectura el tamaño del puntero). Sin embargo, el área de la memoria que apuntan puede ser diferente.  Esto es solo un ejemplo actualmente y desde siempre hacer que un objeto tipo String apunte a un objeto Integer es imposible.

¿Que pasa con la herencia? En la herencia, los objetos de clases padres pueden apuntar (como punteros) a objetos de las clases hijos (pero no viceversa). Esto es debido porque la clase hijo incluye a la clase padre.

Bueno espero que te haya quedado un poco más claro. Si no seria bueno que estudies más sobre encapsulamiento y herencia.

Saludos


« Última modificación: 5 Noviembre 2013, 18:42 pm por egyware » En línea

arts

Desconectado Desconectado

Mensajes: 103


Ver Perfil
Re: Duda sobre hilos
« Respuesta #2 en: 6 Noviembre 2013, 00:11 am »

Vaya era algo que me había imaginando pero no estaba seguro, por lo que entiendo que con Throw x; puedo realizarlo porque tengo la herencia(extends Throw) en mi clase Mihilo (clase hija) y con el puedo acceder a todo lo que contiene la clase Throw y con el new Mihilo("hola") ¿ es hacia donde apunta verdad ?, en este caso relleno un espacio de memoria con el constructor de la clase Mihilo ¿ no ?, por lo que con x tendría por un lado acceso a métodos/funciones/variables de Throw y a su vez contiene una cadena del constructor verdad ?.
« Última modificación: 6 Noviembre 2013, 00:16 am por arts » En línea

egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: Duda sobre hilos
« Respuesta #3 en: 6 Noviembre 2013, 13:55 pm »

Si, estás en lo cierto.

Ahora no por ser clase hija, no siempre se podrá acceder a todo de la clase padre. Existen unos modificadores que definen la privacidad del objeto. Si una variable tiene un modificador en private, la clase hija nunca podrá acceder a este valor (por lo menos no directamente).

Espero que te haya quedado claro.
En línea

arts

Desconectado Desconectado

Mensajes: 103


Ver Perfil
Re: Duda sobre hilos
« Respuesta #4 en: 7 Noviembre 2013, 00:07 am »

Clarísimo :D  ;-) Gracias !
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Solucionado]Duda funcionamiento Thread/Hilos
Java
NetJava 6 4,774 Último mensaje 25 Marzo 2011, 16:29 pm
por NetJava
Benchmark, duda con hilos
Java
Tyrz 2 2,449 Último mensaje 17 Diciembre 2012, 14:16 pm
por jhonatanAsm
Duda usando hilos, se me queda colgado el programa ?? SOLUCIONADO !!
.NET (C#, VB.NET, ASP)
TrashAmbishion 3 2,571 Último mensaje 30 Abril 2013, 16:03 pm
por TrashAmbishion
Duda sobre threads (hilos) y semáforos (mutex)
Programación C/C++
IngenieroFrustrado 3 2,752 Último mensaje 25 Enero 2014, 11:17 am
por amchacon
Dudas sobre hilos
Java
m@o_614 8 3,827 Último mensaje 15 Febrero 2015, 02:18 am
por 3n31ch
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines