Declaración de funciones en la clase de datos Kotiln

Sndhy3478:

En Kotlin, que quería escribir una función, pero veo que la nueva forma de escribir con " val" propiedad utilizando get(). ¿Cuál es la diferencia entre el siguiente dos.

 1)   fun sample(): String {
             return "text"
           }

   2)  val sample: String
            get() = "text"
ryfterek:

Como se ha señalado en los comentarios, hay ninguna diferencia importante entre los dos fragmentos. Sólo puedo señalar algunas diferencias menores:

  • Fragmento # 1 será reconocida como una función declarada, mientras fragmento # 2 será una propiedad declarada. Esto podría hacer la diferencia se debe aplicar una lógica basada en la reflexión.
  • Fragmento # 2 nunca podría aceptar un argumento y nunca podría devolver una respuesta de tipo diferente a la declarada val. Esto es debido a la naturaleza de la get()abstracción. Fragmento # 1 podría ampliarse fácilmente para aceptar un argumento de entrada.
  • Fragmento # 2 podría tener IDE quejándose de un campo de respaldo que se genera por la propiedad de que no tiene impacto en la propiedad de get().
  • En términos generales, Fragmento # 2 podría y probablemente debería reducirse a val sample: String = "text". get()declaración es redundante.

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=318743&siteId=1
Recomendado
Clasificación