当前位置: 首页 > wzjs >正文

淘宝客不做网站可以做么百度app客服人工在线咨询

淘宝客不做网站可以做么,百度app客服人工在线咨询,正规的代练接单平台,推广计划标题不允许重复在 Kotlin 中,属性委托和类委托是两种通过 by 关键字实现的强大特性,它们通过“委托”机制将行为或实现逻辑委托给其他对象,从而实现代码的复用和解耦。 1 属性委托 定义: 允许把属性的 get 和 set 方法的具体实现委托给另一个对…

在 Kotlin 中,属性委托和类委托是两种通过 by 关键字实现的强大特性,它们通过“委托”机制将行为或实现逻辑委托给其他对象,从而实现代码的复用和解耦。

1 属性委托

定义: 允许把属性的 getset 方法的具体实现委托给另一个对象。

语法:

var/val 属性名: 类型 by 委托对象

委托类的要求:

  • 对于 val(只读属性),需要实现 getValue()
  • 对于 var(可变属性),需要实现 getValue()setValue()

常见的使用场景:

  • 延迟初始化:by lazy(首次访问时才进行初始化);
  • 属性监听:Delegates.observable(属性值发生变化时触发回调);
  • 动态属性存储:从 Map 中读取属性(如解析 JSON 或配置);

示例:

class Person(val name: String, val age: Int)val person: Person by lazy {Person("Eileen", 34)
}var name: String by Delegates.observable("init data") { prop, old, new ->println("${prop.name}$old 变为 $new")
}class Student(val map: Map<String, Any>) {val name: String by map // 从 map 中按 key 取值val age: Int by map
}val student = Student(mapOf("name" to "Eileen", "age" to 30))
println(student.name) // Eileen

Kotlin 标准库提供的委托工具:

  • lazy:延迟初始化;
  • Delegates.observable:监听属性变化;
  • Delegates.vetoable:在赋值前校验值是否合法;
  • Delegates.notNull:非空属性的延迟赋值;

2 类委托

定义:将类的接口实现委托给另一个对象,实现组合复用。 通过组合代替继承,避免单继承的局限性。

语法:

class 类名(委托对象): 接口 by 委托对象

典型场景:

  • 装饰器模式:增强对现有对象的功能(如添加日志、缓存);
  • 接口实现复用:多个类共享同一接口的默认逻辑;
  • 动态替换行为:运行时切换委托对象(如策略模式);

示例:

interface DataFetcher {fun fetchData(): String
}class NetworkFetcher : DataFetcher {override fun fetchData() = "从网络获取数据"
}// 通过委托添加缓存功能
class CachedFetcher(private val fetcher: DataFetcher) : DataFetcher by fetcher {private var cachedData: String? = nulloverride fun fetchData(): String {return cachedData ?: fetcher.fetchData().also { cachedData = it }}
}fun main() {val networkFetcher = NetworkFetcher()val cachedFetcher = CachedFetcher(networkFetcher)println(cachedFetcher.fetchData()) // 第一次调用从网络获取println(cachedFetcher.fetchData()) // 第二次直接返回缓存
}
http://www.dtcms.com/wzjs/258353.html

相关文章:

  • 番禺做网站系统推广关键词怎么设置
  • 做网站包括备案吗最近的重大新闻
  • 石家庄外贸网站建设公司百度竞价多少钱一个点击
  • 百度糯米做网站多少钱百度关键字推广费用
  • 做请帖的网站网站快速排名推荐
  • 商城网站用html做北京seo优化外包
  • 第三方微信网站建设搜索关键词查询
  • 看汽车图片的网站可以做壁纸最新的疫情数据
  • 开源分销系统seo建站的步骤
  • 黄冈网站建设云seo
  • 新房网站建设公司天津网站优化公司
  • 做网站的步骤唐山公司做网站
  • 电子商务网站建设也管理公司网站模板
  • 广告设计与制作专业就业工资百度推广优化师是什么
  • wordpress新闻网站网络推广一个月的收入
  • 慈溪做网站公司网络推广优化品牌公司
  • 有趣的网站代码电商推广平台
  • 电子商务的建站流程独立站seo实操
  • asp网站目录权限青岛seo排名公司
  • 专业帮人做网站号码抖音seo软件工具
  • 太原建设北路小学网站西安百度推广优化托管
  • 做dj选歌是哪个网站网络公司网页设计
  • 外贸网站cms系统优化大师官方
  • it运维主要做什么南京seo网站优化
  • 常州网站推广培训什么是网络营销策划
  • 专做企业的p2p网站百度百科官网入口
  • 阿里云的虚拟主机用什么做网站亚马逊seo推广
  • 域名是干嘛用的南京seo收费
  • 无法创建wordpress福鼎网站优化公司
  • 百度云做.net网站真正免费的网站建站平