Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Magore en 21 de Mayo 2023, 15:51

Título: Signatura de métodos en Java (CU00630B)
Publicado por: Magore en 21 de Mayo 2023, 15:51
Buenas tardes.

Os dejo mi propuesta de solución al ejercicio planteado en este tema (CU00630B), para que hagáis las valoraciones que creáis oportunas:

1)  public float getDuracionCancion(int numeroCancion)
2)  public void setDuracionCanciones()
3)  public float getDuracionDisco(String tituloDisco)
4)  public void setAñadirCancion/String tituloCancion, float duracionCancion)

Un saludo y gracias de antemano.
Título: Re: Signatura de métodos en Java (CU00630B)
Publicado por: Kabuto en 21 de Mayo 2023, 20:24
Hola.

De esas signaturas, quizás habría que corregir la tercera.

En esta caso, se supone que son métodos que se van a aplicar a un disco en concreto. Es decir, no sería necesario recibir el nombre del disco como argumento:
Citar
public float getDuracionDisco(String tituloDisco)

...porque como digo, ese método se aplica a un disco en concreto.
Sería distinto si se tratase de un método destinado a actuar en una "colección de discos", entonces sí se requeriría saber el nombre del disco sobre el que queremos actuar.


Otra cosa a mencionar, de poca importancia, es que se aconseja evitar usar la letra ñ.
En programación es habitual que compartas tu código con otras personas o que tengas que portarlo a distintos compiladores, editores de texto, etc.... y estos no siempre van a estar configurados para reconocer caracteres ajenos a los alfabetos anglosajones.
Eso puede hacer que el programa no se compile, o también que se muestren caracteres extraños si se ejecuta en un sistema que no contemple diccionarios españoles.

Por eso mejor evitar usar la ñ, las vocales con tilde u otros caracteres como pueden ser ¿ ¡ ç ...


Ah, por cierto. De esos métodos que has escrito, ¿sabes indicar cuáles son "procedimientos" y cuáles "funciones"?

Un saludo.
Título: Re: Signatura de métodos en Java (CU00630B)
Publicado por: Magore en 22 de Mayo 2023, 17:25
Muchas gracias, Kabuto, por tu respuesta y correcciones.

Adjunto de nuevo mi propuesta, con las modificaciones que has sugerido e indicando cuáles considero que son funciones y cuáles procedimientos:

1)  public float getDuracionCancion(int numeroCancion)  // FUNCIÓN
2)  public void setDuracionCanciones()  // PROCEDIMIENTO
3)  public float getDuracionDisco()  // FUNCIÓN
4)  public void setIncluirCancion/String tituloCancion, float duracionCancion)  //  PROCEDIMIENTO

Espero que ahora esté bien...

Un saludo
Título: Re: Signatura de métodos en Java (CU00630B)
Publicado por: Kabuto en 23 de Mayo 2023, 17:10
Eso es.
Todo método que tenga algún tipo de retorno, será una "función"(computa algo y retorna un resultado).
Si no retorna nada (void), entonces es un "procedimiento"(hace una serie de tareas sin retornar resultado).

En Java y otros lenguajes basados en Programación Orientada a Objetos (POO) normalmente se les llama a todos simplemente "métodos" sin hacer ninguna distinción en cuanto a si retornan algo o no.

Pero está bien saber hacer esta diferenciación de cara a otros lenguajes donde sí es costumbre hacer esta distinción.

Un saludo.