Capítulo 8. Métodos

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Este último capítulo sobre el modelado de dominios trata de los métodos, que pueden definirse dentro de clases, clases case, traits, enums y objetos. Una nota importante -y un gran cambio en Scala 3- es que los métodos también pueden definirse fuera de esas construcciones. Como resultado, una aplicación Scala 3 completa puede tener este aspecto:

def printHello(name: String) = println(s"Hello, $name")
def printString(s: String) = println(s)

@main def hiMom =
    printHello("mom")
    printString("Look mom, no classes or objects required!")

Los métodos Scala son similares a los métodos de otros lenguajes tipados. Se definen con la palabra clave def, suelen tomar uno o más parámetros, tienen un algoritmo que realizan y devuelven algún tipo de resultado. Un método básico -que no tiene tipos genéricos ni parámetros using - se define así:

def methodName(paramName1: type1, paramName2: type2, ...): ReturnType =
    // the method body
    // goes here

Declarar el tipo de retorno del método es opcional, pero me parece que para mantener aplicaciones que no he mirado en meses o años, dedicar unos momentos a declarar el tipo ahora facilita su comprensión dentro de días, meses y años. Cuando no añado el tipo -o cuando utilizo otros lenguajes tipados dinámicamente- me doy cuenta de que tengo que dedicar bastante tiempo en el futuro a mirar el cuerpo del método para determinar ...

Get Scala Cookbook, 2ª Edición now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.