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

网站卡密代理怎么做yeti wordpress

网站卡密代理怎么做,yeti wordpress,wordpress调取留言页面,域名过期网站还有用吗1.委托模式 委托模式#xff1a;操作对象不会去处理某段逻辑#xff0c;而是会把工作委托给另外一个辅助对象去处理。 例如我们要设计一个自定义类的来实现Set#xff0c;可以将该实现委托给另一个对象#xff1a; class MySetT (val helperSet: HashSetT操作对象不会去处理某段逻辑而是会把工作委托给另外一个辅助对象去处理。 例如我们要设计一个自定义类的来实现Set可以将该实现委托给另一个对象 class MySetT (val helperSet: HashSetT) : SetT {override val size: Intget() helperSet.sizeoverride fun isEmpty(): Boolean {return helperSet.isEmpty()}override fun iterator(): IteratorT {return helperSet.iterator()}override fun containsAll(elements: CollectionT) helperSet.containsAll(elements)override fun contains(element: T) helperSet.contains(element)override fun contains(element: T) false //自己重写该方法来定制功能fun eat() println(I can eat.) //新增方法 }这样就可以让大部分的方法实现调用辅助对象中的方法少部分的方法实现由自己来重写甚至加入一些自己独有的方法那么MySet就会成为一个全新的数据结构类 2.类委托 如上委托模式的代码实现存在一个弊端如果接口中待实现的方法特别多那么相应每个都去调用辅助对象中的相应方法实现将会特别复杂 这时候在Kotlin中使用by关键字再接上受委托的辅助对象就可以免去之前所写的一大堆模板式的代码了 class MySetT(val helperSet: HashSetT) : SetT by helperSet {override fun contains(element: T) false //自己重写该方法来定制功能fun eat() println(I can eat.) //新增方法 }类委托本质简化实现委托模式所需要写的很多不必要代码 3.类可以委托给对象的情况 可以的情况 a.构造函数中传入 class MyList2(theList: ArrayListString) : ListString by theList { }b.object的属性 class MyList3 : ListString by theList {object theList : ArrayListString() }c.伴生对象中的属性 class MyList4 : ListString by theList {companion object {val theList: ListString ArrayListString()} }d.直接创建对象 class MyList6 : ListString by ArrayList() { }e.调用函数获得对象 fun getDdd() : LinkedListString {return LinkedListString() } class MyList7 : ListString by getDdd() { }不可以的情况 a.字段 class MyList : ListString by theList { //编译报错提示Unresolved reference: theListval theList: ListString ArrayListString() }b.构造函数中的变量 class MyList8 : ListString by theList { //编译报错提示Unresolved reference: theListinit {val theList ArrayListString()} }4.属性委托 属性委托的核心思想是将一个属性字段的具体实现委托给另一个对象去完成 可以看到这里使用by关键字连接了左边的p属性和右边的Delegate类去完成。当调用p属性的时候会自动调用Delegate的getValue()方法当给p属性赋值的时候会自动调用Delegate类的setValue()方法 class MyClass {var p by Delegate() }Delegate的具体实现在Delegate类中我们必须实现getValue()和setValue()这两个方法并且都要使用operator关键字进行声明 class Delegate {var proValue: Any? null//第一个参数用于声明该Delegate类的委托功能可以在什么类中使用//第二个参数是Kotlin中的一个属性操作类可用于扩区各种属性相关的值在当前场景用不着但必须在方法参数上进行声明//返回值可以声明成【任何类型】根据具体的实现逻辑去写就可以了operator fun getValue(myClass: MyClass, prop: KProperty*) : Any? {return proValue}//前两个参数和getValue()相同//最后一个参数表示具体要赋值给委托属性的值这个参数类型必须要和getValue()方法返回值的类型保持一致operator fun setValue(myClass: MyClass, prop: KProperty*, value: Any?) {proValue value} }现在当我们给p属性赋值时就会调用Delegate的setValue()方法当获取p属性的值时就会调用Delegate类的getValue()方法 如果p属性是使用val关键字声明的那么就不用在Delegate类中实现setValue()方法因为它是常量 参考文章 类声明的右边也能写 byKotlin 的接口委托是这么用的
http://www.hkea.cn/news/14528964/

相关文章:

  • 公众号里的网站怎么做的软装设计师招聘
  • 网站建设的目的及目标专业的企业网站建设公司
  • 重庆提供行业网站建站报价智慧团建pc端注册入口
  • 手机软件制作网站平台关于门户网站建设方案
  • 网站大屏轮播图效果怎么做的镇江网站建设dmooo
  • 北斗手表官方网站天猫交易网站
  • 网站开发最快框架网站素材资源
  • 贵阳建站常州建站服务
  • 网站的静态页面用什么做网站建设分金手指专业二七
  • 东莞网站设计如何看公狍和女人做爰网站
  • 精品网站免费申请做网站平台
  • 报社网站建设之思考无锡手机网站建设服务
  • 简单的网站有哪些重庆工商大学
  • 第二章营销型网站建设测验网站访问频率
  • 备案期间 网站想正常北京如何做网站
  • 龙华做棋牌网站建设西安有哪些做网站的公司
  • 男女性男女直接做的视频网站二级建造师执业资格考试
  • 电商网站规划论文浙江台州做网站的公司
  • 返利网站开发一般要多少钱孝感市建设网站
  • 实验一 电子商务网站建设与维护做网站seo的步骤
  • 国外网站为啥速度慢dw网站模板免费下载
  • 用python做美食网站青海省建设厅网站公示公告
  • 金华网站建设工程网站建设个人网站制作流程
  • 网站建设公司哪家好服装网站建设比较好
  • 简述网站制作流程wdcp网站无法访问
  • 网站关键词怎么优化排名主做熟人推荐的招聘网站
  • 网站建设合同有法律效益吗山西建设机械网站首页
  • 长春专业企业网站建设价格网站建设网站备案所需资料
  • 天津做宠物饲料的网站呼和浩特公司做网站
  • 绍兴企业网站开发注册360建筑网平台