Foros aprenderaprogramar.com
Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: MrClassic en 13 de Febrero 2015, 10:23
-
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.
-
Hola MrClassic
Este ejercicio corresponde a la lección CU00653B
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
-
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.
-
Hola MrClassic
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