Kotlin

面向对象

抽象类与接口

  1. 面向对象的基本概念
    本质上就是解决如何用程序描述世界的问题
    讨论如何把实际存在的东西映射成程序的类和对象
    一种程序设计的思路、思想、方法
    实例
// 定义一个类
class Demo{
	// 定义一个可读变量
	val i=4
	// 定义一个方法
	fun out(i: int){
		println(i)
	}
}
// 定义一个接口
interface chouxianglei{
	// 定义一个接口方法
	fun hello()
}

继承一个接口的时候,使用类名(),实现一个接口的时候,使用类名即可,在Kotlin 中是单继承,多实现;

interface B{
    var j: Int
}
interface C
abstract class A
class D(override var j: Int):A(),B,C{
    
}

接口

Kotlin 接口与 Java 8 类似,使用 interface 关键字定义接口,允许方法有默认实现:

interface MyInterface {
    fun bar()    // 未实现
    fun foo() {  //已实现
      // 可选的方法体
      println("foo")
    }
}

实现接口
一个类或者对象可以实现一个或多个接口。

class Child : MyInterface {
    override fun bar() {
        // 方法体
    }
}

接口与抽象类的区别:

  1. 接口:
    不能有状态
    必须由类对其进行实现后使用
  2. 抽象类:
    实现了一部分协议的半成品
    可以有状态,可以有方法实现
    必须由子类继承后使用
  3. 共性:
    比较抽象,不能直接实例化
    有需要子类(实现类)实现的方法
    父类(接口)变量可以接受子类(实现类)的实例赋值

继承

Kotlin 中所有类都继承该 Any 类,它是所有类的超类,对于没有超类型声明的类是默认超类:

open class Kotlin4_1 {
    open val str: String = "我是父类"
    open var str1: String = "我可以被重写"
    open fun parent() = "I'm a parent class"
    fun parent1(): String {
        return "It's not open"
    }
}
class Kotlin4 : Kotlin4_1() 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

认怂认错不认输

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值