织梦采集侠官方网站济南 网站 建设

news/2025/9/23 13:41:27/文章来源:
织梦采集侠官方网站,济南 网站 建设,网站建设文化案例,网站建设是怎么挣钱的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.mzph.cn/news/912718.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上海网站开发怎么做苏州网页制作设计

一、简述传统的lru链表lru:least recently used相信大家对lru链表是不陌生的,它算是一种基础的数据结构吧,而且想必面试时也被问到过什么是lru链表,甚至是让你手写一个lru链表。想必你已经知道了mysql的buffer pool机制以及mysql组…

不用vip也能看的黄台的app中山seo技术

题目传送门&#xff1a;LOJ #3156。 题意简述&#xff1a; 有一张 \(n\) 个点 \(m\) 条边的有向图&#xff0c;边有两个权值 \(p_i\) 和 \(q_i\)&#xff08;\(p_i<q_i\)&#xff09;表示若 \(p_i\) 时刻在这条边的起点&#xff0c;则 \(q_i\) 时刻能到达这条边的终点。 你需…

推荐微网站建设哪家网站建设公司好

基础命令 1、ls(list) 用法1: # ls 含义: 列出当前工作目录下所有的 文件/文件夹 的名称 用法2: # ls 路径 含义: 列出指定路径目录下所有的 文件/文件夹 的名称 用法3: # ls 选项 路径 含义: 以指定的格式来显示指定目录下文件夹的名称 栗子: # ls -l 路径 -->> 表…

vscode的ssh-remote插件经常掉线

现象: 本地的mobaxterm的连接服务器一直是好的,vscode编辑服务器上的代码会一会儿就断线,写入不成功,要不就是ssh断开了,需要重新加载窗口。成功解决: 把服务器,属主目录下的vscode相关的全部删除掉,然后重新连…

商业性质网站设计医院客户做网站找谁

1. 用法 返回指定日期的给定日期部分的名称&#xff0c;如年份、月份、星期几等。 2. 语法 DATENAME ( datepart , date )datepart DATENAME 将返回的 date 参数的特定部分。 此表列出了所有有效的 datepart 参数 。 select getdate() 2023-12-01 16:25:47.513 datepart缩写…

dede网站制作app制作器软件下载

在处理器以八核成为主流、硬盘以T而论的今天&#xff0c;计算机辅助设计软件是设计师的得力工具。用铅笔、尺子要时间才能画好的一个室内空间平面布置图&#xff0c;如果用CAD可能一个小时都不用就完成了&#xff0c;而且很方便修改&#xff0c;可见在效率方面&#xff0c;电脑…

网站没收录可以做排名汕头seo网络推广服务

本篇文章有ChatGPT生成&#xff0c;觉得说的有理&#xff0c;给予刊登。 微调大型语言模型 描述&#xff1a; 微调是指在一个预训练的语言模型基础上&#xff0c;使用特定任务或领域的特定数据集进行进一步训练。这一过程会更新模型的权重&#xff0c;以提高其在新数据集上…

网站开发的项目流程物流网站后台

公司的服务器可能会存在这样一种情况&#xff0c;具体的应用是部署在一个或多个内网服务器上&#xff0c;然后由一台外网服务器通过代理的方式对外提供服务&#xff0c;例如下图&#xff1a;我们如果需要进入到内网服务器进行操作就必须先要进入外网服务器&#xff0c;然后再远…

所得税汇算是在12366网站做吗网站建设需要建站公司沟通哪些

Unity3D&#xff08;U3D&#xff09; 1.视觉效果&#xff1a;Unity3D相对UE4略逊、手机3D应用、3D游戏轻量级首选&#xff0c;支持跨平台、设备兼容性更好 2.产品力&#xff1a;Unity3D更加多元化&#xff0c;各平台都有代表作&#xff0c;比如《王者荣耀》《炉石传说》《纪念…

建设网站 xp济南网络有限公司

我在2018年,写过一篇《如何对基因组序列进行注释》,简书上有4万多人阅读,CSDN上有8万多人阅读,说明确实有不少人有相关的需求。我自己也琢磨了一段时间,刚好过年回家,简单的梳理一下。 最初的时候,我的思路就是EvidenceModeler(后面简称EVM)的思路,训练不同从头预测…

汽车网站页面上海公司招聘

备用纹理图像规范命令 Alternate Texture Image Specification Commands 二维和一维纹理图像也可以使用直接从帧缓冲区获取的图像数据进行指定&#xff0c;并且可以重新指定现有纹理图像的矩形子区域。 定义一个二维纹理图像 void glCopyTexImage2D( enum target, int level…

乐清英文网站建设wordpress缩略图只生成full

大家在学习entityframework的时候&#xff0c;都知道那linq写的叫一个爽&#xff0c;再也不用区分不同RDMS的sql版本差异了&#xff0c;但是呢&#xff0c;高效率带来了差灵活性&#xff0c;我们无法控制sql的生成策略&#xff0c;所以必须不要让自己缺乏好的工具去监控sql&…

记录第一次CCPC(2025)网络赛前后

2025年09月21 00:38 竹叶雨——竹磬 总起 ​ 今天进行了CCPC系列赛事的第一次尝试,按照总分总的形式,先说一句:非常的爽!在次,先感谢一下同队的队友:沽雨,黯叶。 ​ 接下来就是记录流水账了: 事件1:差点…

河北做网站电话网站开发相关会议

论文笔记整理&#xff1a;谭亦鸣&#xff0c;东南大学博士生&#xff0c;研究方向为跨语言知识图谱问答。来源&#xff1a;NLPCC2018链接&#xff1a;http://tcci.ccf.org.cn/conference/2018/papers/EV7.pdf问题背景与动机作者认为&#xff0c;目前的问题语料生成主要依赖于人…

第四周课前思考

1. 为什么说 Java 中的所有类都 is-a Object? 因为 Object 是所有类的最终父类,其他类都直接或间接继承自 Object 类。 2. 在 JDK 文档中查找 Object 的 toString 方法。说一说,该方法有什么用?使用 Eclipse 查看 …

声像新境:东芝电视以火箭炮SOUND重塑家庭艺术馆新标准

时代斗转星移,科技日新月异。电视从曾经的“镇宅大件”,走到今天成为日常生活的消费电子品,参数虽不断拔高,但童年记忆里那种“整间屋子都被声音点亮”的震撼,却久违难再。或许人们误把性能指标当作体验答案,而忽…

详细介绍:广告点击场景下的 YOLO-world 模型训练失败及其解决办法

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

手机网站设计与实现是什么珠海门户网站建设费用

dispaly:grid;网格布局 学习博客地址 http://www.ruanyifeng.com/blog/2019/03/grid-layout-tutorial.html http://www.ruanyifeng.com/blog/2020/08/five-css-layouts-in-one-line.html

网站布局的三种基本方法百度推广管理系统

在将OpenCV图像数据传递到PyQt的QImage之前&#xff0c;需要理解两者之间的转换关系。OpenCV通常使用cv2.imread()等函数加载图像&#xff0c;返回的是一个NumPy数组。而QImage是Qt框架中用于图像显示的类。 要将OpenCV的灰度图像转换为QImage&#xff0c;你需要执行以下步骤&a…

wap网站是什么江西做网站多少钱

在本机写了一个shell脚本&#xff0c;关于操作mysql的&#xff0c;在本机执行脚本可以正常操作数据库&#xff0c;脚本运行正常。 但是使用ansible ansible -i ./hosts test_teledb -m copy -a "src/etc/ansible/scripts/check.sh dest/tmp"ansible -i ./hosts test…