code

Declaración de Interfaces: Sintaxis Básica

Ejemplo: Interface MetodoPago

interface MetodoPago {
    // Propiedad sin implementación
    val nombreMetodo: String
    // Función sin implementación
    fun procesarPago(monto: Double): Boolean
    // Función con implementación por defecto
    fun obtenerDetalles() {
        println("Método: $nombreMetodo")
    }
    // Otra función sin implementación
    fun validarDatos(): Boolean
}

lightbulb interface define el contrato que las clases deben cumplir

Elementos de Sintaxis

label

Declaración

Usar palabra clave interface

property

Propiedades

Pueden ser abstractas o con implementación

functions

Funciones

Sin cuerpo: obligatorias. Con cuerpo: opcionales

visibility

Modificadores

Sin abstract, open es implícito