Kotlin设计模式实现之装饰者模式(Decorator)
前言 之前用kotlin实现了策略模式,文中写到要多写几篇文章来加深以下对设计模式的理解。那么今天要写的看题目应该就知道了:装饰者模式(也叫装饰模式)。下面是装饰者模式的定义:装饰者模式(Decorator):在不改变对象自身的基础上,动态地给一个对象添加一些额外的职责。与继承相比,装饰者是一种更轻便灵活的做法。若要扩展功能,装饰者提供了比继承更有弹性的....

Kotlin设计模式实现之策略模式
看到题目就知道第一篇写的是策略模式了,下面来详细看看:正文首先来说一下需求吧:需要来模拟鸭子,有各种的鸭子,可以游泳,可以叫,有绿颜色的、还有黄颜色的等等。很简单对吧,再加上kotlin的优秀语法,就更简单了:abstract class Ducks{ fun quack(){ println("呱呱呱") } fun swim(){ pr...

安卓一行代码实现避免按钮重复点击(AOP)java和kotlin都能使用
之前处理按钮重复点击基本由两种思路: 1、第一种是点击之后禁止点击,然后等操作执行完毕之后再放开点击。 2、第二种是重写OnclickListenrer方法,在里面进行一些操作。但是上面两种方式都对代码由侵入性。AOP很好的解决了这个问题。我已经写好了代码,大家直接添加依赖进行使用即可。aop的方式是实现防止按钮多次点击,java和kotlin....
数据结构 | 二分搜索树及它的各种操作(kotlin实现)
什么是二叉树?和链表一样,同样也是动态数据结构二叉树具有唯一的根节点class Node<E> { var e: E? = null var left: Node<E>? = null var right: Node<E>? = null }每个节点最多有两个节点二叉树具有天然递归结构每个节点的左子树和右字数也是二叉树二叉树不一定是满的...

重学数据结构-使用Kotlin实现链表及其他扩展
网络异常,图片无法展示|What is a linked list?不同于栈与队列及动态数组,它是真正意义上最简单的动态数据结构优点:真正的动态,不需要处理固定容量的问题缺点:丧失了随机访问的能力数据存储在 “节点”(Node)中class Node(val e: E, val next: Node)学习链表我们可以获得哪些?加深引用的理解。(类似C语言的指针)链表内部也有递归结构的性质便于对其....

数据结构 | 使用Kotlin实现栈与队列
栈(Stack)Last In First Out(LIFO) 后进先出栈也是一种线性数据结构代码实现栈考虑到需要扩容,所以我们使用ArrayList最为底层的动态数组支持。interface Stack<E> { //获取栈的大小 fun getSize(): Int //栈是否为null fun isEmpty(): Boolean //出...

Kotlin | 实现数据类(data)深拷贝
在Kotlin中,data数据类默认的copy方法实现的是浅拷贝,但我们有时候需要实现深拷贝。 在kotlin中,实现就比较容易了。那么什么是深拷贝与浅拷贝呢?简单理解,浅拷贝指的是如果要拷贝A对象,则会重新创建一个B对象,并将其内部变量全部赋值给B对象,所以我们称之为浅拷贝。深拷贝指的是:拷贝后,如果B对象中存在引用对象,此时更改这个引用对象不会影响到原有A对象中的引用对象,因为它两所操作的内....

用kotlin来实现一个打方块的小游戏
用kotlin来实现一个打方块的小游戏前言今天来做个打方块的小游戏,继续熟悉kotlin的语法,看下要实现的效果图看着效果图好像挺难的样子,但理清思绪后,你会发现特别的简单,还是那句话,学习方法最重要思路构造界面 :这个部分比较简单,根据控件的比例来画小球、挡板和击打的方块,所有击打的方块存储在一个集合里面,方块里面存储的信息有left、top、right、bottom位置信息和是否被击打过了的....

用kotlin来实现一个饼图
前言代码不难,所以打算用kotlin来实现,增加熟练度先看看做的是什么看完图,我们来整理下思路饼图居中,每块区域都是一个扇形,需要canvas.drawArc根据角度来绘制需要path.arcTo定位到扇形弧度的一半来绘制折线的起点通过canvas.drawPath绘制折线,折线的长度根据饼图大小来设置比例通过canvas.drawText绘制文字,文字的大小根据饼图的大小来设置比例,绘制文字的....

OpenCV + Kotlin 实现 USB 摄像头(相机)实时画面、拍照
init { System.load("${FileUtil.loadPath}WImagesProcess.dll") } /** * 算法的版本号 */ external fun getVersion():String /** * 获取 OpenCV 对应相机的 index id * @param p...
本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
Kotlin您可能感兴趣
微服务
构建可靠、高效、易扩展的技术基石
+关注