Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: macarena2405 en 22 de Mayo 2015, 16:52

Título: Java diferencia entre declarar y crear objetos. Ejercicio resuelto (CU00653B)
Publicado por: macarena2405 en 22 de Mayo 2015, 16:52
Reflexiona y responde a las siguientes preguntas:

Citar
a) ¿Es posible llamar a un método externo de un objeto que ha sido declarado pero no creado?

b) ¿Es posible llamar a un método externo de un objeto “A” que ha sido declarado y creado pero cuyo constructor está vacío?

c) Una llamada al método pow de la clase Math que hacemos dentro de un método definido en una clase ¿Es una llamada a un método interno o a un método externo? ¿La llamada al método pow se hace sobre un objeto declarado y creado o no declarado y no creado?

a) Para empezar quiero saber si voy bien, un objeto declarado es el objeto que le hemos definido los atributos y métodos sin darle la sentencia para crear el objeto que es new.Una vez que le hemos dado nuevoObjeto = new (nombreDelObjetoDeclarado) podemos decir que el objeto está creado.  es así? y creo que es necesario crear el objeto, es decir debe existir para tener acceso a sus métodos,  en el código del grupoDeposito para llamar al método valorCapacidad () primeramente creo los objetos de Deposito en el switch.

b)Creo que no, lo que hice fue borrar el constructor de Depositos, dejando solo el constructor con this y no me dejaba compilarlo, de todas maneras no estoy segura de esta respuesta.

c)Tampoco estoy segura de esto pero creo que si el método corresponde a una clase del Api de java no es necesario crear la clase para utilizarla, pero todo esto lo respondo simplemente mirando ejercicios y sacando mis propias conclusiones, espero sus correcciones :)

Título: Re:método interno (propia clase) y método externo en Java. Ejercicios (CU00653B)
Publicado por: macarena2405 en 22 de Mayo 2015, 16:53
ah y la llamada sería a un metodo externo creo,
Título: Re:método interno (propia clase) y método externo en Java. Ejercicios (CU00653B)
Publicado por: Lorenzo31 en 22 de Mayo 2015, 18:59
Buenas tardes macarena, en la respuesta A estás en lo correcto, declararla es

SalonCasa salon;

(los atributos y metodos no tienen nada que ver, eso es interno de la clase) declarar lo que hace es reservar un espacio de memoria para el objeto SalonCasa llamado salon; (que efectivamente cumplira las normas que le hayas escrito dentro de la clase SalonCasa) pero declararlo es lo anterior.

Y inicializarla es cuando usas el new y llamas al constructor

salon = new SalonCasa();

Te lo pongo todo en una linea

SalonCasa salon = new SalonCasa()   clase --> SalonCasa nombre q le ponemos ---> salon  Constructor---> SalonCasa()

La respuesta C es correcta, Math viene cargada por defecto y por esa razón se puede llamar a sus métodos, representaria que ya esta inicializada automaticamente, por simplificar.

La respuesta B no es correcta, un constructor vacio, no deja de ser un constructor, y se creará el objeto, simplemente que no se le pasan parametros, y inicializará con valores que desconocemos. Pero no deja de ser un constructor igualmente.

Espero haberte aclarado un poco el tema ;)
Título: Re:método interno (propia clase) y método externo en Java. Ejercicios (CU00653B)
Publicado por: macarena2405 en 22 de Mayo 2015, 19:46
Genial, entendí la diferencia entre crear y declarar; también lo del constructor vacío, ahora si todo más claro muchas gracias :)