Kotlin(4)面向对象

类与对象

一般类

抽象类

嵌套类

是一种静态内部类

内部类

修饰符

属性

构造器

继承

父类val,子类var是可以的,反之不行

接口

函数重写

实现多个接口是,可能会遇到同一方法继承多个实现的问题

interface A {

fun foo() { print("A") } // 已实现

fun bar() // 未实现,没有方法体,是抽象的

}

interface B {

fun foo() { print("B") } // 已实现

fun bar() { print("bar") } // 已实现

}

class C : A {

override fun bar() { print("bar") } // 重写

}

class D : A, B {

override fun foo() {

super<A>.foo()

super<B>.foo()

}

override fun bar() {

super<B>.bar()

}

}

fun main(args: Array<String>) {

val d = D()

d.foo()

d.bar()

}

枚举类

扩展

扩展函数不具备运行时的多态

//父类

open class Shape2

//子类

class Rectangle2:Shape2()

//针对Shape2定义的扩展函数

fun Shape2.getName()="Shape2"

//针对Rectangle2定义的扩展函数

fun Rectangle2.getName() = "Rectangle2"

fun printClassName(s:Shape2){ //静态解析

println(s.getName())

}

fun main(){

printClassName(Rectangle2())

}

打印出来是Shape2

数据类与封装类

密封类是一种特殊的抽象类,不能实例化

相关推荐
传奇开心果编程6 小时前
【Compose Multiplatform 跨端开发学与练】第3课 布局与组件
android·windows·学习·ui·ios·kotlin·composer
事圆则缓8 小时前
Kotlin 入门与面试:从空安全、扩展函数到协程
安全·面试·kotlin
传奇开心果编程9 小时前
【Compose Multiplatform 跨端开发学与练】第8课 资源管理与主题
android·windows·学习·ios·kotlin·web·composer
传奇开心果编程10 小时前
【Compose Multiplatform 跨端开发学与练】第9课 测试与调试
android·学习·macos·ios·kotlin·web·composer
传奇开心果编程11 小时前
【Compose Multiplatform 跨端开发学与练】第4课 导航与路由
android·windows·学习·ui·ios·kotlin·composer
传奇开心果编程11 小时前
【Compose Multiplatform 跨端开发学与练】第6课 状态管理与架构
android·学习·ui·ios·架构·kotlin·composer
传奇开心果编程11 小时前
【Compose Multiplatform 跨端开发学与练】第2课 Compose 基础语法
android·windows·学习·ui·ios·kotlin·composer
熊猫钓鱼>_>1 天前
Kotlin Multiplatform for OpenHarmony 实战:为 Reaktive 实现响应式原语适配(完整版 · 含摘要目录与技术图表)
华为·kotlin·大模型·ai编程·harmonyos·适配·reaktive
李游Leo1 天前
HarmonyOS 7 InsightBoard 多形态适配实录 06:ArkUI × 多设备回归:布局抖动、监听释放与全形态验收【鸿蒙心迹】
回归·kotlin·harmonyos
点燃大海1 天前
手机给平板当键盘?
kotlin