Autor Tema: Ejercicio resuelto Java CU00653B objetos con constructores vacíos significado  (Leído 3259 veces)

MrClassic

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 37
    • Ver Perfil
 Reflexiona y responde a las siguientes preguntas:

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?

Puedes comprobar si tus respuestas son correctas consultando en los foros aprenderaprogramar.com.

 
  • Para a) y b) necesito saber la diferencia entre un metodo creado y uno declarado, no entiendo bien la pregunta, ¿Cual es la diferencia?

    En cuanto a c) diria que desde un metodo interno, y diria que no declarado y no creado, partiendo del concepto que inica que este metodo al igual que sqrt(), abs() pertenecen al objeto Math que se carga automaticamente en cada programa que desarrollemos, por lo que podemos instanciarlo sin problemas ya que se encuetra cargado, tal como el objeto String con sus metodos concat(String), substring(int,int) y length(), para los que creamos por codigo no me a quedado muy claro el concepto en base a mis dudas a responder las preguntas a y b planteadas en esta entrega
:-\

de antemano gracias.
« Última modificación: 14 de Febrero 2015, 16:25 por Alex Rodríguez »
Quedo en espera de sus recomendaciones y/o correcciones.

Gracias.

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Re:Entrega CU00653B del curso "Aprender programación Java desde cero".
« Respuesta #1 en: 13 de Febrero 2015, 19:50 »
Hola MrClassic

Este ejercicio corresponde a la lección CU00653B

Citar
Para a) y b) necesito saber la diferencia entre un metodo creado y uno declarado, no entiendo bien la pregunta, ¿Cual es la diferencia?

Cuando en el método main de una clase hay una línea como la siguiente:
    Persona persona1;
Estás declarando el objeto persona1 del tipo Persona.

Y cuando escribes:
    persona1 = new Persona();
Estás creando el objeto persona1.

Y en la línea siguiente:
    Persona persona1 = new Persona();
Estás declarando el objeto y creándolo en la misma línea.

Comentarios a la respuesta c)
El método pow es de la clase Math. La clase Math es del API de Java.
Dentro de la clase que yo creo puedo llamar a los métodos internos de la clase como los getters y setters. Pero el método pow no lo hemos creado nosotros en nuestra clase, es un método externo a nuestra clase. Es un método que pertenece a otra clase (la clase Math).

La clase Math se carga automáticamente como dices y declara y crea los objetos necesarios para nuestros cálculos sin que nosotros intervengamos (lo hace en un modo transparente, sin que nosotros nos demos cuenta).

De la clase Math no podemos instanciar objetos, no puedes hacer:
Match miCalculadora = new Math();
Tal como hemos visto arriba, el objeto persona1 es una instancia de la clase Persona.

Todos los conceptos anteriores hay que asimilarlos, o esperar que a fuerza de meternos en el código de nuestras clases, un día se haga la luz para nosotros y se conecten conceptos y significados y lo veamos todo claro.

Saludos

MrClassic

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 37
    • Ver Perfil
Cordial Saludo,


:o No sabes cuanto me identifico con las dos ultimas lineas de tu respuesta ;D,

al respecto comento; En alguno de los ejemplos aveces frustra que apesar de entender como se realizan, te sientes incapaz de dar con esa implementación por tu cuenta propia e incluso con gran dificultad de replicarlo de inmediato, por lo que pregunto.
¿es normal sentir en esta etapa de aprendizaje inicial esto? ¿como desarrollar esa capacidad de resolver de forma puntual y sencilla problemas que por cuenta propia resultaria en un codigo super extenso?

Con tu aclaración puedo decir;

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

No es posible ya que debe crearse de lo contrario el resultado solicitado seria una excepción del tipo java.lang.nullPointerException.

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?

Si es posible, hay objetos que incluso no tienen constructor.

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?

Los metodos de objetos del paquete java.lang se importan automaticamente y contienen interfaces que son estructuras de codigo que realizan una funcion especifica y tienen ocultamiento en su implementacion.
La clase Math pertenece a este paquete, el cual entre sus metodos cuenta con el metodo pow que seria externo para nuestra clase.

Este objeto no debe ser Creado y ni Declarado.


Slds.








« Última modificación: 25 de Febrero 2015, 06:50 por MrClassic »
Quedo en espera de sus recomendaciones y/o correcciones.

Gracias.

toni_apr

  • Avanzado
  • ****
  • Mensajes: 497
  • Curiosidad, es uno de los pilares del Conocimiento
    • Ver Perfil
Hola MrClassic
Citar
al respecto comento; En alguno de los ejemplos aveces frustra que apesar de entender como se realizan, te sientes incapaz de dar con esa implementación por tu cuenta propia e incluso con gran dificultad de replicarlo de inmediato, por lo que pregunto.
¿es normal sentir en esta etapa de aprendizaje inicial esto? ¿como desarrollar esa capacidad de resolver de forma puntual y sencilla problemas que por cuenta propia resultaria en un codigo super extenso?

Esas impresiones que comentas, son normales. A todos nos ha pasado.
Al empezar descubrimos conceptos nuevos que no sabemos la importancia que pueden tener.
Y aunque al principio del aprendizaje nuestros pasos pueden dar algunos tumbos. Esos mismos tropiezos nos ayudan a enderezar el paso.
Con el tiempo y líneas de código veremos que además de la ruta que hemos emprendido, también hay colegas que usan otros caminos, que nos pueden convencer por alguna propiedad, que tiene valor para nosotros y la incorporamos a nuestro bagaje de programador.

Así que, no debes desanimarte. Estás en la ruta correcta.


En cuanto a tus respuestas al enunciado del ejercicio.
Todas correctas a, b y c.

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".