Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Metodos

Estas en el tema de Metodos en el foro de Java en Foros del Web. Estoy bastante liado con los métodos por mas vuelta que le de no consigo entenderlo. Se lo que es una clase, los objetos, lo que ...
  #1 (permalink)  
Antiguo 27/01/2014, 15:23
 
Fecha de Ingreso: enero-2014
Ubicación: En mi casa
Mensajes: 9
Antigüedad: 10 años, 3 meses
Puntos: 0
Metodos

Estoy bastante liado con los métodos por mas vuelta que le de no consigo entenderlo. Se lo que es una clase, los objetos, lo que son los atributos, los que es un constructor pero no se como declara metodos ni que es lo que significa return (que delvuelve algo ¿el que?) si se cuando tengo que poner public, private o protected, haber si alguien me lo puede explicar o algun sitio donde lo expliquen seria de gran ayuda porque el libro este de deitel no me entero.

Código PHP:
public class pelota{
String nombre;
String color;
int diametro;}


public 
pelota{
this.nombre nike;
this.diametro=50;





Código PHP:
/*Metodos*/public class LibroCalificaciones 
    
    private 
String nombreDelCurso;
    
    public 
void establecerNombreDelCurso(String nombre){
    
        
this.nombreDelCurso nombre;
    }
    
      public 
String obtenerNombreDelCurso(){
    
        return  
this.nombreDelCurso;
    }
  
    
    public 
void mostrarMensaje(){
        
        
System.out.printf("Bienvenido al libro de calificaciones \n%s!\n"obtenerNombreDelCurso());


Código PHP:
//Main

package main;

/**
 *
 * @author 
 */
public class LibroCalificaciones {
    
    private 
String nombreDelCurso;
    
    public 
void establecerNombreDelCurso(String nombre){
    
        
this.nombreDelCurso nombre;
    }
    
      public 
String obtenerNombreDelCurso(){
    
        return  
this.nombreDelCurso;
    }
  
    
    public 
void mostrarMensaje(){
        
        
System.out.printf("Bienvenido al libro de calificaciones \n%s!\n"obtenerNombreDelCurso());


  #2 (permalink)  
Antiguo 28/01/2014, 20:05
 
Fecha de Ingreso: enero-2014
Mensajes: 100
Antigüedad: 10 años, 3 meses
Puntos: 0
Información Respuesta: Metodos

Pues mira tratare de explicartelo facil. Los metodos los podemos ver como subrutinas, en las cuales, tenemos un conjunto de lienas de codigo que realizan una determinada accion, por ejemplo, ene el codigo que tu colocas, tu tienes la clas LibroCalificaciones y dentro de esta defines metodos como establecerNombreDelCurso() y obtenerNombreDelcurso(), los cuales como ya te abras dado cuenta asignas y obtienen el nombre de un determinado curso, por lo tanto podemos definri que, con la ayuda de los metodos dividimos un problema en subproblemas mas pequeños y faciles de entender para poder realizar nuestro programa. Ahora, lo que preguntas de la sentencia return pues en efecto es como tu dices con esto indicamos que se esta devolviendo un valor, tomemos de ejemplo nuevamente los metodos que colocas en tus codigos con uno asignas nombre del curso asi que por logica, aqui no debes de devolver nada (retornar) y ¿como nos damos cuenta de esto? pues por que despues de la palabra reservada para establecer el acceso como publico o privado y antes del nombre del metodo estas colcando la palabra reservada void, es atraves de esta palabra que indicamos que no retornamos nada e incluso si la incluyeramos nos macaria un error lo cual , no susede asi con el metodo que obtiene el nombre del curso ya que, en vez de void tenemos el tipo de dato que esta retornando (devolviendo) ese metodo que es un String, si te fijas, la variable nombreDelCurso esta declarada dentro de la clase LibroCalificaciones como String asi que nuevamente por logica, el metodo deve de devolver un String y no otro tipo de dato.

Espero que con esta explicacion halla podido aclarar tus dudas y no haberte creado mas de las que ya tenias jejejejeje. Yo te sugiero para que puedas entender esto de los metodos y vallas adiestrando tu logica y razonamiento, es que utilizes pseudocodigo y te plantees pequeños problemas a resolver, el pseudocodigo no esta relacionado con ningun lenguaje de programacion y se aserca mucho al lenguaje humano, es mas, planteate un problema y en una libreta a lapiz ve descomponiendolo en subproblemas mas pequeños y asi iras viendo que procesos debes de llevar a cabo para resolverlo por ejemplo: ingresar 3 numeros y determinar cual es el mayor, suma de numeros con signo y determinar si el resultado es negativo o positivo, etc. te puede ayudar mucho. Tambien si lo prefieres te recomiento un libro que biene mucho de esto de como revolver problemas y se llama:

como programar en C++ de deitel.

de java si quieres programar desdes el primer capitulo te recomiento este:
java a fondo 2da. edicion estudio del lenguaje y desarrollo de aplicaciones
autor: Ing. Pablo Augusto Sznajdleder
editorial: Alfaomega

pero te digo, te sugiero que en primer lugar arrastres el lapiz en el papel para resolver un problema antes de codificar.
  #3 (permalink)  
Antiguo 28/01/2014, 21:35
 
Fecha de Ingreso: agosto-2013
Mensajes: 90
Antigüedad: 10 años, 8 meses
Puntos: 1
Respuesta: Metodos

Lo métodos son operaciones que requieren cierta independencia para realizar la acción, igualmente hacer un método para algo sencillo no vale la pena, con excepciones.

Por ejemplo si tienes una clase llamada Persona, esta tiene sus atributos String nombre y int edad, estos requieren métodos, esto por el tema del encapsulamiento, pero ese termino va mas aya que hacer esto, pero por el momento esta bien .
Código Java:
Ver original
  1. String nombre;
  2. int edad;
  3.  
  4. public void setNombre(String nombre){
  5.     this.nombre = nombre;
  6. }
  7. public String getNombre(){
  8.     return this.nombre;
  9. }
  10. public void setEdad(int edad){
  11.     this.edad = edad;
  12. }
  13. public int getEdad(){
  14.     return this.edad;
  15. }

Los métodos que se declaran con un tipo: public String getNombre(), hacen referencia a que retornan un valor. Los que no se declaran con un tipo de dato, por lo tanto son void, no retornan.
Supongamos que tienes una lista, y en esa lista tienes que meter la edad y el nombre de esa persona, requiere hacer algo así;

Código Java:
Ver original
  1. Persona perdona = new Persona();
  2.  
  3. agregarALaLista(persona.getNombre());
  4.  
  5. public void agregarALaLista(String nombre){
  6.     lista.add(nombre);
  7. }

Instanciamos el objeto de Persona, luego requerimos llamar al método que retorna el nombre de esa persona(objeto) para agregarlo a la lista. Imagina que el método es void, como hacemos para sacar el nombre de esa persona si su atributo esta protegido con Private, requerimos de un acceso, eso es el get y set.

Los otros métodos void son operaciones complejas, procurando que siempre el nombre del método lo describa y que este siempre se limite a hacer para lo que fue concebido. El método agregarALaLista() es void y no retorna, ya que no nos interesa nada que pueda resultar de ese método ya que la único que hace es ingresar a la lista el nombre de la persona.

Saludos.
  #4 (permalink)  
Antiguo 29/01/2014, 05:55
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Metodos

Cita:
Iniciado por rodo593 Ver Mensaje
Lo métodos son operaciones que requieren cierta independencia para realizar la acción, igualmente hacer un método para algo sencillo no vale la pena, con excepciones.
Esto no tiene sentido, ¿independencia de qué? ¿métodos sencillos no valen la pena?

Los métodos son acciones, de ahí que se suelan equiparar con verbos, debido al encapsulamiento como ya te han dicho.

Dentro de los métodos existen unos especiales que son los getter y setter, que sirven para recuperar o añadir datos a un objeto.

Cita:
public void establecerNombreDelCurso(String nombre){

this.nombreDelCurso = nombre;
}

public String obtenerNombreDelCurso(){

return this.nombreDelCurso;
}
Deberían ser un setNombreDelCurso y getNombreDelCurso.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #5 (permalink)  
Antiguo 29/01/2014, 07:40
 
Fecha de Ingreso: enero-2014
Ubicación: En mi casa
Mensajes: 9
Antigüedad: 10 años, 3 meses
Puntos: 0
Respuesta: Metodos

Cita:
Iniciado por bibliotecario_oscuro Ver Mensaje
Pues mira tratare de explicartelo facil. Los metodos los podemos ver como subrutinas, en las cuales, tenemos un conjunto de lienas de codigo que realizan una determinada accion, por ejemplo, ene el codigo que tu colocas, tu tienes la clas LibroCalificaciones y dentro de esta defines metodos como establecerNombreDelCurso() y obtenerNombreDelcurso(), los cuales como ya te abras dado cuenta asignas y obtienen el nombre de un determinado curso, por lo tanto podemos definri que, con la ayuda de los metodos dividimos un problema en subproblemas mas pequeños y faciles de entender para poder realizar nuestro programa. Ahora, lo que preguntas de la sentencia return pues en efecto es como tu dices con esto indicamos que se esta devolviendo un valor, tomemos de ejemplo nuevamente los metodos que colocas en tus codigos con uno asignas nombre del curso asi que por logica, aqui no debes de devolver nada (retornar) y ¿como nos damos cuenta de esto? pues por que despues de la palabra reservada para establecer el acceso como publico o privado y antes del nombre del metodo estas colcando la palabra reservada void, es atraves de esta palabra que indicamos que no retornamos nada e incluso si la incluyeramos nos macaria un error lo cual , no susede asi con el metodo que obtiene el nombre del curso ya que, en vez de void tenemos el tipo de dato que esta retornando (devolviendo) ese metodo que es un String, si te fijas, la variable nombreDelCurso esta declarada dentro de la clase LibroCalificaciones como String asi que nuevamente por logica, el metodo deve de devolver un String y no otro tipo de dato.

Espero que con esta explicacion halla podido aclarar tus dudas y no haberte creado mas de las que ya tenias jejejejeje. Yo te sugiero para que puedas entender esto de los metodos y vallas adiestrando tu logica y razonamiento, es que utilizes pseudocodigo y te plantees pequeños problemas a resolver, el pseudocodigo no esta relacionado con ningun lenguaje de programacion y se aserca mucho al lenguaje humano, es mas, planteate un problema y en una libreta a lapiz ve descomponiendolo en subproblemas mas pequeños y asi iras viendo que procesos debes de llevar a cabo para resolverlo por ejemplo: ingresar 3 numeros y determinar cual es el mayor, suma de numeros con signo y determinar si el resultado es negativo o positivo, etc. te puede ayudar mucho. Tambien si lo prefieres te recomiento un libro que biene mucho de esto de como revolver problemas y se llama:

como programar en C++ de deitel.

de java si quieres programar desdes el primer capitulo te recomiento este:
java a fondo 2da. edicion estudio del lenguaje y desarrollo de aplicaciones
autor: Ing. Pablo Augusto Sznajdleder
editorial: Alfaomega

pero te digo, te sugiero que en primer lugar arrastres el lapiz en el papel para resolver un problema antes de codificar.
Gracias ese libro viene mejor explicado que el deitel lo veo mas claro y buena explicacion te lo has currado xd saludo!!
  #6 (permalink)  
Antiguo 29/01/2014, 07:57
 
Fecha de Ingreso: enero-2014
Mensajes: 100
Antigüedad: 10 años, 3 meses
Puntos: 0
De acuerdo Respuesta: Metodos

De nada compañero Nitro_88, me alegra haber sido de ayuda, cualquier otra cosa en que podamos ayudarte aqui estamos y si, a arrastrar el lapiz en el papel que solo asi se aprende, jeejejeje, saludos y mucha suerte.
__________________
"Benditos sean todos los libros, pues cuando abres uno, te sumerges en un mundo nuevo y completamente diferente"
  #7 (permalink)  
Antiguo 29/01/2014, 10:33
 
Fecha de Ingreso: agosto-2013
Mensajes: 90
Antigüedad: 10 años, 8 meses
Puntos: 1
Respuesta: Metodos

Cita:
Iniciado por Xerelo Ver Mensaje
Esto no tiene sentido, ¿independencia de qué? ¿métodos sencillos no valen la pena?
Con independencia me refería a operaciones adjudicadas a un método en particular, por ejemplo insertar(), consultar(). Perdon si me mal expreso. Y en los metodos sencillos, es que por ejemplo me he encontrado con cosas así.

Código Java:
Ver original
  1. public class Ventana extends JFrame{
  2.  
  3.    public Ventana(){
  4.    }
  5.  
  6.    public mostrarVentana(boolean opcion){
  7.     this.setVisible(opcion);
  8.    }
  9.  
  10. }
Y puesto según se y creo es mas bien escribir código extra ya que la propia ventana tiene su método setVisible().

Saludos y perdón por el mal entendido

Etiquetas: clase, metodo, metodos, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:28.