Java - Principiante en JAVA con dudas existenciales

 
Vista:

Principiante en JAVA con dudas existenciales

Publicado por Laureano (4 intervenciones) el 10/08/2017 16:04:12
Buenos días, hace algunos meses comencé a estudiar un poco el lenguaje JAVA, hace mas de 15 años que no programo (antes solía hacerlo en Pascal y Clipper a nivel intermedio) mi ultimo trabajo en clipper fue un sistema básico de alta, baja, modificaciones, stock, etc.

Empece a leer libros de JAVA buscando alguno que realmente se adecue a mi, y por el momento estoy leyendo Como programar en JAVA 9na edición de Deitel. El libro es muy ameno, en este momento voy por el capitulo 3.

Me ha surgido una duda existencial lo cual al leer el libro difiere con otras publicaciones que fui mechando, por ejemplo:

Hemos creado la Clase LibroCalificaciones

y luego en otra clase llamada pruebalibrocalificaciones creamos el objeto:

LibroCalificaciones MiLibroCalificaciones = new Librocalificaciones()

Yo lo que entiendo es que MiLibroCalificaciones es un objeto de tipo LibroCalificaciones (lo que esta antes del = ), new seria lo que lo inicializa y Librocalificaciones() nose que seria.

El libro habla del objeto LibroCalificaciones y que Milibrocalificaciones es una variable de referencia, acá también no entiendo y me perdí
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 80
Ha disminuido 1 puesto en Java (en relación al último mes)
Gráfica de Java

Principiante en JAVA con dudas existenciales

Publicado por Juan (108 intervenciones) el 10/08/2017 17:28:05
Buenas Laureano

Antes de nada ánimo que el cambio es complicado.

Lo que refieres es básicamente un objeto de tipo LibroCalificaciones.

Para poder usar un objeto en Java hay que crearlo, dicha creación se hace con el new, que a parte de crearlo, si le pasas parámetros, puedes inicializarlo. Cuando creas un objeto tienes que referenciar la clase que lo crea, de ahí que tengas otro LibroCalificaciones después del new.

Es por eso que con la orden esa lo que estás haciendo es crear un objeto del tipo LibroCalificaciones, lo que viene siendo llamar al constructor de la clase.

No sé si me he explicado, espero haberte aclarado algo.

Saludos y mucho ánimo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Principiante en JAVA con dudas existenciales

Publicado por Laureano (4 intervenciones) el 10/08/2017 17:35:58
Si, creo que he entendido, veamos en mi instruccion, pongo entre // lo que creo que es:

LibroCalificaciones //tipo de objeto MiLibroCalificaciones //objeto, que es una variable? = new
Librocalificaciones() // referencia a la clase que lo crea y dentro de los () puedo poner argumentos

Ahora este objeto se llamaria LibroCalificaciones o MiLibroCalificaciones? El libro habla de MiLibroCalificaciones como una variabler local que pasa al objeto y habla constantemente de LibroCalificaciones.

Se que es complicado y solo le dedico una hora al dia de lectura y practica, pero creo que cuando maneje bien el tema de contructores y objetos la logica y los elementos de control los tengo dominados.

Gracias por la respuesta
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Pedro
Val: 305
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Principiante en JAVA con dudas existenciales

Publicado por Pedro (15 intervenciones) el 10/08/2017 22:37:49
[1] Mira voy a intentar de explicarte de la mejor y más sencilla forma lo que es un Objeto.

[2]Crear un Objeto en programación es Abstraer de la vida cualquier Objeto si sí eso es por ejemplo voy a crear un Objeto Animal

[3] Para crear un Objeto se necesita un molde, el molde es la clase, para que me entiendas un cubo de arena es el molde para crear objetos castillos de arena y en programación la clase es el molde para la creación de Objetos.

[4] Toda clase lleva un constructor que hace honores a su nombre (Construir Objetos en memoria)

[5] LibroCalificaciones libro=new Librocalificaciones() y ahora después de tener los conceptos básicos explicados anteriormente te voy a explicar esto de arriba en lenguaje humano . De la clase=o molde LibroCalificaciones voy a crear un objeto llamado libro y con new Librocalificaciones() llamo al constructor que curiosamente tiene el mismo nombre que la clase ,para que reserve y almacene ese objeto libro recién creado.

Como puedes apreciar es muy sencillo comprender pero claro..! cuando alguién te lo explica con sencillez si estuviera con mi nieto en la playa me llevaria un molde de castillo de arena para crear objetos castillos de arena en la playa.

Todo Objeto tiene un estado y un comportamiento, jajaja vaya tela y ahora que me quiere decir el maldito Yorma pues no te asuste cuando tu creas una clase dentro lleva unos atributos y unos métodos , los atributos sirven para dar un estado al Objeto y los métodos se usan como interfaces de comunicación entre objetos y.... como asignar un comportamiento al objeto

Objeto Perro
//A continuación los estados del Objeto perro
atributo nombre=Turco;
atributo color=marrón;
atributo años=10;

//A continuación comportamiento del Objeto perro

metodoLadrarSihaymovimiento ()
{
Si hay movimiento el la puerta ladro;
}

Bueno eso es todo y espero haberte ayudado creo haberte simplificado la Abstracción de un Objeto cotidiano a la programación un saludo cordial para todos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Principiante en JAVA con dudas existenciales

Publicado por Tom (1831 intervenciones) el 10/08/2017 17:40:28
Además de lo que te han explicado ya, en java no manejas objetos, sino referencias a objetos.
En este ejemplo:

1
2
3
4
5
6
7
LibroCal metodoTal() {
  LibroCal miLibroCal = new LibroCal();
  return miLibroCal;
}
void metodoCual() {
  LibroCal nuevoLibroCal = metodoTal();
}

Tanto miLibroCal (dentro de metodoTal()) como nuevoLibroCal (dentro de metodoCual()) son referencias al mismo objeto del la clase LibroCal.
Cuando finaliza metodoTal (tras hacer el return), la referencia miLibroCal desaparece, pero no así el objeto creado, que solamente se destruirá cuando no haya más referencias a él.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Principiante en JAVA con dudas existenciales

Publicado por Laureano (4 intervenciones) el 10/08/2017 18:55:43
Ok voy entendiendo... No es fácil acomodar el cerebro pero vamos...

A ver dices: Tanto miLibroCal (dentro de metodoTal()) como nuevoLibroCal (dentro de metodoCual()) son referencias al mismo objeto del la clase LibroCal. Cual es este objeto?? Como se llama? De que tipo es?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Principiante en JAVA con dudas existenciales

Publicado por Tom (1831 intervenciones) el 10/08/2017 19:39:56
Haz un System.out.println(nuevoLibroCal); y verás lo más parecido a ese nombre que buscas, y que no te servirá para nada. Por otra parte, el tipo, pues lógicamente LibroCal.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Principiante en JAVA con dudas existenciales

Publicado por Laureano (4 intervenciones) el 11/08/2017 00:16:20
Perfecto, de todos he sacado la idea. Para ver si no estoy equivocado, voy a poner un ejemplo en cuestion:

// crea un objeto LibroCalificaciones y lo asigna a miLibroCalificaciones (asi esta textual en el libro y ahi me cofunde porque yo pensaba que creaba el objeto miLibroCalificaciones)

LibroCalificaciones miLibroCalificaciones = new LibroCalificaciones();

Este objeto fue creado en la clase PruebaLibroCalificaciones dentro de su metodo main
La clase LibroCalificaciones tiene los metodos que son llamados en el main de la clase PruebaLibroCalificaciones
de la forma miLibroCalificaciones.metodoDeLaClaseLibroCaificaciones

Viendo la sintaxis pura de java, en LibroCalificaciones miLibroCalificaciones = new LibroCalificaciones();

LibroCalificaciones es el molde del objeto miLibroCalificaciones y LibroCalificaciones() son los posibles argumentos (en este caso no tiene) del objeto?? Entendi bien?

Luego en la clase PruebaLibroCalificaciones, la cual no importamos porque esta dentro del mismo "paquete" creamos el objeto miLibrocalificaciones e "invocamos"
los metodos de la clase LibroCalificaciones?? esto lo entendi bien??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Pedro
Val: 305
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Principiante en JAVA con dudas existenciales

Publicado por Pedro (15 intervenciones) el 15/08/2017 17:54:38
LibroCalificaciones sin paréntesis es la clase para crear objetos.

miLibroCalificaciones es el nombre que le has dado al objeto que quieres crear.


new LibroCalificaciones() con paréntesis es la llamada al constructor que lo crea en memoria.


Cuando hablamos por referencia su mismo nombre te indica que estás referenciando a ese objeto en concreto que está en un espacio de memoria.

Te aconsejo que busques por la red por referencia y por valor verás como no es difícil de comprender yo también estuve confuso al principio es sólo que se encienda la bombilla como el viki el vikingo.

Suerte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar