Interfaces Kotlin
As interfaces são tipos personalizados fornecidos pelo Kotlin que não podem ser instanciados diretamente. Em vez disso, eles definem uma forma de comportamento que os tipos de implementação devem seguir. Com a interface, você pode definir um conjunto de propriedades e métodos, que os tipos concretos devem seguir e implementar.
Criação de interfaces -
A definição da interface em Kotlin começa com a palavra-chave interface seguida pelo nome da interface, seguida pelas chaves dentro das quais residem os membros da interface. A diferença é que os membros não terão uma definição própria. Essas definições serão fornecidas pelos tipos em conformidade.
Exemplo:
interface Vehicle() { fun start() fun stop() }
Implementando interfaces -
Uma interface pode ser implementada por uma classe ou um objeto. Ao implementar uma interface, o tipo em conformidade deve fornecer a definição para todos os seus membros. Para implementar uma interface, o nome do tipo personalizado é seguido por dois pontos e o nome da interface a ser implementada.
class Car: Vehicle
Exemplo para demonstrar uma interface em Kotlin -
interface Vehicle {
fun start()
fun stop()
}
class Car : Vehicle {
override fun start()
{
println("Car started")
}
override fun stop()
{
println("Car stopped")
}
}
fun main()
{
val obj = Car()
obj.start()
obj.stop()
}
interface FirstInterface {
fun add(a: Int, b: Int = 5)
fun print()
{
println("This is a default method defined in the interface")
}
}
class InterfaceDemo : FirstInterface {
override fun add(a: Int, b: Int)
{
val x = a + b
println("Sum is $x")
}
override fun print()
{
super.print()
println("It has been overridden")
}
}
fun main()
{
val obj = InterfaceDemo()
println(obj.add(5))
obj.print()
}
interface InterfaceProperties {
val a : Int
val b : String
get() = "Hello"
}
class PropertiesDemo : InterfaceProperties {
override val a : Int = 5000
override val b : String = "Property Overridden"
}
fun main()
{
val x = PropertiesDemo()
println(x.a)
println(x.b)
}
interface Dimensions {
val length : Double
val breadth : Double
}
interface CalculateParameters : Dimensions {
fun area()
fun perimeter()
}
class XYZ : CalculateParameters {
override val length : Double
get() = 10.0
override val breadth : Double
get()= 15.0
override fun area()
{
println("Area is ${length * breadth}")
}
override fun perimeter()
{
println("Perimeter is ${2*(length+breadth)}")
}
}
fun main()
{
val obj = XYZ()
obj.area()
obj.perimeter()
}
interface InterfaceProperties {
val a : Int
val b : String
get() = "Hello"
}
interface InterfaceMethods {
fun description()
}
class MultipleInterface : InterfaceProperties, InterfaceMethods {
override val a : Int
get() = 50
override fun description()
{
println("Multiple Interfaces implemented")
}
}
fun main()
{
val obj = MultipleInterface()
obj.description()
}
- 6 semanas de desenvolvimento de aplicativos Android - Aprendizado baseado em projetos GRATUITO
- Como adicionar e personalizar o botão Voltar da barra de ação no Android?
- Receptor de transmissão no Android com exemplo
- Como alterar a cor da barra de status em um aplicativo Android?
- Provedores de conteúdo no Android com exemplo
Escrevendo código no comentário? Use ide.geeksforgeeks.org , gere o link e compartilhe o link aqui.
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva