Buscar este blog

viernes, 4 de junio de 2021

Interface

 private fun interfaces(){

    //val gamer : Game //No podemos instanciarla ->() porque no posee estado y no puede utilizarse por si sola
val gamer = Person("Rene",36)
gamer.play()
gamer.stream()
}

----------------------
interface Game { //Una interface no puede poseer estado -> () <-No puede poseer un constructor
//En clase abstracta si se puede agregar una propiedad en su constructor -> (myGame:String)

val game: String //Se puede definir propiedades
fun play() //No hae falta que se diga que es abstracta ya que es una interface

fun stream(){ //Con esto stream tiene un corportamiento por defecto pero puede ser reemplazado
println("Estoy haciendo stream de mi juego $game") //Le doy un comportamiento a la interface
}
}
--------------------
open class Person(name:String, age:Int) : Work(), Game { //Propiedades nombre y edad //Open permite que la clase sea heredada
//Cualquier clase tiene una superclase común "Any"

open fun work(){
println("Esta persona está trabajando")
}

override fun goToWork() {
//TODO("Not yet implemented")
println("Esta persona va al trabajo")
}

//override val game: String
// get() = "FIFA"
override val game: String = "Fifa" //Otra forma de dar valor a game

override fun play() {
println("Esta persona está jugando $game")
}
}

Cuando no reconoce los elementos el MainActivity

  If you are using Android Studio 4.1, you need to add the description to build.gradle (Module: .app). Si está utilizando Android Studio 4.1...