[Curso] Kotlin de 0 a 100

Encapsulamiento y métodos accesores(setter y getters) en Kotlin (Curso de Kotlin desde cero [61])

El principio de encapsulación de la Programación Orientada a Objetos determina que los atributos de los objetos deben ser siempre privados: no deben ser accesibles desde fuera del objeto, sino que sólo el objeto tiene la libertad de para escribirlos o leerlos. Lo que debe hacerse es crear métodos públicos que sustituyan una u otra operación, o ambas, cada vez que la situación lo requiera. Estos métodos se denominan en ciertos lenguajes “accesores” y en otros “setter”s y “getter”s:

  • Un método “setter” sirve para “cargar un valor” (asignar un valor a una variable).
  • Un método “getter” sirve para “retornar el valor” (solo devolver la información del atributo para quién la solicite).

Para entender mejor este principio de getters y setters vamos hacer el siguiente ejercicio:

  • Crearemos una clase llamada Empleado la cual tendrá dos atributos:
    • edad de tipo Int
      • Su método set validará que el empleado tenga un rango de edad entre 18 y 80 años.
      • Su método get le sumará 1 año (Porque no se me ocurrió otra cosa)
    • nombre de tipo String
      • Su método set validará que el nombre tenga texto.
      • Su método get retorna el nombre en mayúsculas.

Código: https://github.com/programadornovato/CursoKotlin/commit/7649ac2e4af1ad297a3eda56f4fdf5317275f2a0

// src/Empleado.kt 

class Empleado {
    var edad=0
        get() = field+1
        set(value) {
            if(value>=18 && value<=80){
                field = value
            }else{
                println("Semi Dios Estupido la edad debe de estar en un rango entre 18 y 80 años")
            }
        }
    var nombre:String?=null
        get() = field?.toUpperCase()
        set(value) {
            if(value!!.isEmpty()) {
                println("El nombre debe de tener texto")
            }else{
                field = value
            }
        }
    /*
    public fun setEdad(_edad:Int){
        if(_edad>=18 && _edad<=80){
            edad=_edad
        }else{
            println("Semi Dios Estupido la edad debe de estar en un rango entre 18 y 80 años")
        }
    }
    public fun getNombre(_nombre:String){
        if(_nombre?.isEmpty()){
            println("El nombre debe de tener texto")
        }else{
            nombre=_nombre
        }
    }
    */} 


// src/main.kt 
import javax.swing.JOptionPane
import Matematicas.Basicas
fun main(args:Array<String>){
    var e1=Empleado()
    e1.edad=20
    println(e1.edad)
    e1.nombre="juan"
    println(e1.nombre)
}

🎦 Mismo tutorial pero en Java: https://youtu.be/8yxBe6igRbU
🎦 [Curso] Java Netbeans Completo☕: https://www.youtube.com/playlist?list=PLCTD_CpMeEKTT-qEHGqZH3fkBgXH4GOTF
🎦 [CURSO] PYTHON PARA PRINCIPIANTES🐍: https://www.youtube.com/playlist?list=PLCTD_CpMeEKRppvi86Dy8CPYZ8-XzN2qu

🔗 Facebook: https://facebook.com/ProgramadorNovatoOficial
🔗 Twitter: https://twitter.com/programadornova
🔗 Linkedin: https://www.linkedin.com/in/programadornovato/
🔗 Instagram: https://www.instagram.com/programadornovato/
🔗 Pagina oficial: https://www.programadornovato.com
🔗 Gracias por apoyar este canal: https://www.patreon.com/programadornovato

Eugenio Chaparro

Entradas recientes

Editar código de un módulo en Dolibarr [04]

Editar código de un módulo en Dolibarr [04]

En este tutorial vamos editar el código de nuestro módulo personas para poder personalizar algunas…

4 meses hace
Crear un sub_módulo en Dolibarr [03]

Crear un sub_módulo en Dolibarr [03]

En este tutorial vamos a crear un sub módulo llamado seguridad que será muy parecido…

4 meses hace
Modificar un módulo en Dolibarr [02]

Modificar un módulo en Dolibarr [02]

En este tutorial aprenderemos a editar el objeto personas del modulo persona que creamos en…

4 meses hace
Constructor de módulos en Dolibarr

Constructor de módulos en Dolibarr

Como mencionamos anteriormente Dolibarr es un proyecto realizado sobre la base de una política clara:…

4 meses hace
Tickets en Dolibarr [19]

Tickets en Dolibarr [19]

Los ticket en dolibarr nos ayudan a comunicar inconveniente en nuestros productos y servicios dentro…

4 meses hace
Agenda en Dolibarr [18]

Agenda en Dolibarr [18]

Las agendas en dolibarr nos ayudan a ver las actividades realizadas en proceso y por…

4 meses hace